这是我在React中的代码。我有多个getInitialState
实例用于不同功能。但是,我发现让它们全部以这种方式运行可能存在问题。
getInitialState: function(){
if (localStorage.getItem('something'))
{return {signedin: true}}
else {return {signedin: false}}
},
getInitialState:function(){
return {error: true}
},
getInitialState:function(){
return {fliphouse: false}
},
解释一下,
getInitialState
的第二个实例不起作用。也就是说,除非我翻转第二和第三getInitialState
的顺序。当我这样做时,代码将按预期运行。但是我感觉到React正在设法告诉我一些事情。这通常是在组件内组织React代码的方法吗?
最佳答案
您可以在同一对象中全部定义它们:
getInitialState() {
return {
signedIn: !!localStorage.getItem('something'),
error: false,
fliphouse: false
};
}
您可以在组件中的任何位置单独更改它们(render()函数除外),例如:
this.setState({ error: true }) // causes a new render