Reactjs 反应模式设置状态不工作 handleOpenModal() { this.setState({showModal: true}); } handleCloseModal() { this.setState({showModal: false}); }
))Reactjs 反应模式设置状态不工作 handleOpenModal() { this.setState({showModal: true}); } handleCloseModal() { this.setState({showModal: false}); },reactjs,react-redux,react-modal,Reactjs,React Redux,React Modal,)) 另外,我必须提到的是,我也在使用redux在处理事件时,es6缺少一些绑定。因此,要让处理程序访问状态,只需将这些绑定放在构造函数中: export const StartComponent = (props) => ( <div className="start-page"> <div className="container"> <div className="row"> <div clas
另外,我必须提到的是,我也在使用
redux
在处理事件时,es6缺少一些绑定。因此,要让处理程序访问状态,只需将这些绑定放在构造函数中:
export const StartComponent = (props) => (
<div className="start-page">
<div className="container">
<div className="row">
<div className="col-sm-6">
<NavLink to="/start/klarungsfalle">Einträge prüfen</NavLink>
</div>
<div className="col-sm-6" >
<NavLink onClick={props.handleModalOpen} style={{ background: "#aac4d3", cursor: "default" }} to="/">Einträge verfügen</NavLink>
</div>
</div>
</div>
</div>
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
此处不需要匿名函数:
constructor() {
super();
this.state = {
showModal: false
};
// bindings
this.handleOpenModal = this.handleOpenModal.bind(this);
this.handleCloseModal = this.handleCloseModal.bind(this);
}
将回调传递到setState意味着当setState完成时,它接下来将运行该函数;setState是异步的,但这对您没有帮助。为StartComponent组件提供代码可能会有所帮助,因为可能没有调用处理程序函数
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
试试onClick={()=>props.handleModalOpen()}
注意:只是一个建议,考虑在孩子中命名你的道具和父母的原因一样。我刚刚设置了
,看起来状态正在按照您的要求进行设置
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
请尝试使用您的代码的以下代码段:
或者,您也可以查看此
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
const{HashRouter,NavLink}=ReactRouterDOM;
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
常量应用=()=>(
);
常量StartComponent=({currentState,handleModalOpen,handleNix})=>(
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
埃因特拉格·普吕芬
埃因特拉格·维尔弗根
模态
状态
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
闭合模态
);
}
}
ReactDOM.render(,document.getElementById(“app”)代码>
.flex{
显示器:flex;
}
.居中对齐{
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
证明内容:中心;
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
}
.周围的空间{
证明内容:周围的空间;
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
}
.圆柱中心{
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
弯曲方向:立柱;
对齐项目:居中;
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
}
.注{
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
字体大小:0.7em;
边缘底部:1rem;
}
.btn:之后{
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
内容:“\01F436”;
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}
}
必须绑定函数才能使用“this”关键字
调用handleModeLopen={()=>this.handleOpenModal()}
时会发生什么?console.log(“此处”)
是否正在打印某些内容?如果没有问题,那么您的StartComponent
可能会有问题。您可以为StartComponent添加代码吗?我的猜测是,handleModalOpen
不会从那里被调用,它自己的对象和函数都可以传递给setState
@user2960896。上面的示例也使用了您更新的代码。我希望有帮助。试试onClick={()=>props.handleModalOpen()}
handleOpenModal() {
this.setState({showModal: true});
}
handleCloseModal() {
this.setState({showModal: false});
}