В настоящее время я работаю над корзиной для покупок и пытаюсь понять, как сделать так, чтобы модальное окно появлялось, когда я нажимаю на значок корзины для покупок. Я просмотрел документацию по семантическому пользовательскому интерфейсу для модальных окон, но неясно, как заставить модальное окно появляться при нажатии на что-либо. Я использую semantic-ui class="ui modal" для модального окна.
Я думал о том, чтобы поместить onClick на значок, но все еще не понимаю, как идти оттуда. В настоящее время у меня есть значок в другом компоненте и корзина в другом отдельном компоненте. Я хочу, чтобы элементы отображались внутри всплывающего модального окна, которое должно быть корзиной покупок.
import React from 'react'
import { Icon } from 'semantic-ui-react';
const ShoppingCartIcon = () => {
return(
<Icon.Group size='big' className="shopping_cart_icon">
<Icon link name='shopping cart'/>
<Icon corner='top right'/>
</Icon.Group>
)
}
export default ShoppingCartIcon;
import React from 'react'
import Shirt from './Shirt';
class ShoppingCart extends React.Component {
render() {
const listShirts = this.props.shirts.map(shirt => {
return <Shirt key={shirt.id} {...shirt}/>
})
return(
<div className="ui modal">
<div className="content">
{listShirts}
</div>
</div>
)
}
}
export default ShoppingCart;
В настоящее время у меня не работает функционал добавления товаров в корзину. Я просто хочу сосредоточиться на том, чтобы модальное окно отображалось, когда я нажимаю на значок корзины покупок.
state
дляModal
и изменить его, когда пользователь нажимает наIcon
?Modal
имеетopen
поддержку, вы можете сделать что-то вроде этого<Modal open={this.state.show}>...</Modal>
и изменить состояние, когда пользователь нажимает на значок. Если вопрос заключается в том, как передать состояние между несколькими компонентами, то предпочтительным ответом будет использованиеRedux
или какого-либо менеджера состояний. - person Edward Chopuryan   schedule 19.09.2019