我有一段这样的代码
Modal.confirm({
tilte: "title",
content: (
<>
<input onChange={
() => this.setState({ A: true });
}></input>
this.state.A && <div>这是一段文字</div>
</>
)
})
目的是,在 input 变化后, 就会显示 <div>这是一段文字</div>
,但是发现状态A变化后不能及时拿到,导致div里的内容一直不显示出来,请问要怎么修改呢?
这个得这么写才行,用() =>:
Modal.confirm({
tilte: "title",
content: (
<>
<input onChange={() =>
this.setState({ A: true });
}></input>
this.state.A && <div>这是一段文字</div>
</>
)
})
希望能帮助到你。
你是使用命令式(
Modal.confirm
)的展示Modal
的,state
变更时并不会触发Modal
重新渲染。解决方案:
Modal
,比如:Modal.confirm
展示的内容抽成一个组件createRoot
或者ReactDom.render
后他就属于那个fiber树了