【发布时间】:2019-05-19 07:16:38
【问题描述】:
- 我正在努力学习自己的反应。
- 当我点击收藏按钮时,心形符号会改变颜色。
- 但是当我刷新页面时它消失了。
- 所以我研究并找到了以下链接 How to maintain state after a page refresh in React.js?
- 现在实施后,我可以在开发人员工具应用程序选项卡中看到本地存储。
- 但在我刷新后颜色仍然没有保留。
- 当我调试时,我在 getInitialState 中发现没有任何打印会出现问题
- 你能告诉我如何解决它吗?
- 以便将来我自己修复它。
- 在下面提供我的相关代码 sn-p 和沙箱。
- 我所有的代码都在 RecipeReviewCard.js 中
https://codesandbox.io/s/xrp56z04yq
getInitialState = () => {
var addFavirote = localStorage.getItem("AddFavirote") || 1;
console.log("getInitialState--->", addFavirote);
return {
addFavirote: addFavirote
};
//this.setState(state => ({ belowExpanded: !state.belowExpanded }));
};
<FavoriteIcon
style={{ display: this.state.addFavirote ? "none" : "" }}
onClick={e => {
console.log("favoriteEvent---.", e);
console.log(
"this.state.addFavirote---.",
this.state.addFavirote
);
localStorage.setItem("AddFavirote", !this.state.addFavirote);
this.setState({ addFavirote: !this.state.addFavirote });
console.log(
"!this.state.addFavirote---.",
!this.state.addFavirote
);
this.props.onAddBenchmark(this.props);
}}
/>
【问题讨论】:
-
很难确定
addFavorite可能包含什么。从您链接的帖子中,您需要JSON.stringify(addFavorite)和parse回水合state -
@Orar 抱歉,我忘了粘贴我的沙盒链接...你能在这里更新一下吗,太混乱了:(codesandbox.io/s/xrp56z04yq
-
@Orar 你能告诉我如何找到 hydra 状态
-
对不起,我不是说水合物作为一个函数。只是英语。我的意思是很难确定
addFavorite可能包含什么。从您链接的帖子中,您需要JSON.stringify(addFavorite)和JSON.parse返回设置状态。我查看了codeandbox,但找不到sn-p写的是哪个组件。
标签: javascript html reactjs redux material-ui