因此,我需要呈现“警报”组件,该组件通知用户组件中的成功操作-内部函数,该函数将项目添加到购物车/本地存储。
警报组件:
class Alarm extends React.Component{
render(){
return(
<Alert color="success">
This is a success alert — check it out!
</Alert>
)
}
}
在另一个组件中的功能:
addToCart = () => {
(Some Logic...)
}
编辑
我有2个组成部分:
初始化函数addToCard后,我需要呈现警报组件
解决方案
我在构造函数状态中声明“ x”:
constructor(props) {
super(props);
this.state = {
quantity: 1,
x: false
}
}
并添加到ProductItem组件:
<div>
{ this.state.x &&
<Alarm />
}
</div>
内部函数只是:
this.setState({x: true})
答案 0 :(得分:2)
'Standard comunication'
是通过将道具从父级传递到子级(甚至是几层深)来完成的。阅读docs。可以使用redux,上下文API,apollo等部署通用/应用范围状态。
在这种情况下,您可能需要使用portals。
答案 1 :(得分:0)
据我了解,您想呈现Alarm(包含Alert)组件。 但是您可以在两个地方做到这一点。
render(){
// const {showAlert} = this.props; // if redux state
const {showAlert} = this.state; // local state
return(
<div>
{ showAlert &&
<Alarm />
}
</div>
)
}