【发布时间】:2019-06-17 02:38:40
【问题描述】:
我有两个组件父和子。我想在我的屏幕上看到localStorage.getItem("myEl") 的实际值。父状态为storage:localStorage.getItem("myEl")。我在 Children 组件中更改 localeStorage 中的“myEl”。不幸的是,父组件在“myEl”更改后不会重新渲染,但在我执行某些操作(例如再次更改状态)后它会起作用。我知道问题是 setState 是 asinc 但我不知道如何解决这个问题。
例如,
家长:
class Parent extends React.Component {
constructor() {
super();
this.state = {storage:localStorage.getItem("myEl")};
}
render(){
return <div>
<Child/>
<p>{this.state.storage}</p>
</div>
}
}
孩子:
let i=0;
class Child extends React.Component {
render() {
return (
<button onClick={() => {
localStorage.setItem("myEl",i);
i++;
}}>click me</button>
);
}
}
【问题讨论】:
-
你在寻找这样的东西吗? stackoverflow.com/q/43313372/8089107
标签: reactjs