Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ReactJS-使用默认状态进行渲染_Javascript_Reactjs - Fatal编程技术网

Javascript ReactJS-使用默认状态进行渲染

Javascript ReactJS-使用默认状态进行渲染,javascript,reactjs,Javascript,Reactjs,如何从getInitialState()重新加载状态为的组件 例如: 在示例代码中,我单击按钮,组件按钮更改状态,按钮为黄色-其工作状态,但当我单击另一个按钮时,我希望单击的按钮为黄色(其工作状态),而旧按钮的状态和颜色更改为红色(不工作状态)。避免类似的情况: childState.setState({klasa: "yellow"}); 您不应该从父级设置子级状态。状态是组件的内部状态,只能由组件自身更改。相反,父对象可以使用不同的道具重新渲染子对象 如果你只想激活一个按钮,那么你必须有一

如何从
getInitialState()
重新加载状态为的组件

例如:

在示例代码中,我单击按钮,组件按钮更改状态,按钮为黄色-其工作状态,但当我单击另一个按钮时,我希望单击的按钮为黄色(其工作状态),而旧按钮的状态和颜色更改为红色(不工作状态)。

避免类似的情况:

childState.setState({klasa: "yellow"});
您不应该从父级设置子级状态。状态是组件的内部状态,只能由组件自身更改。相反,父对象可以使用不同的道具重新渲染子对象

如果你只想激活一个按钮,那么你必须有一个只允许激活一个按钮的状态。因为孩子们不知道他们的同胞兄弟姐妹,这一部分的状态必须居住在父母身上。我把它叫做
activeBtn
。如果
activeBtn
为1,则第一个按钮显示为黄色。父对象中的这段状态对应于子对象中的布尔属性
active
。我还在父级中定义了一个单击处理程序来更改状态。此单击处理程序作为道具传递给每个子级

如果这没有意义,那么修改后的代码应该作为更好的解释:

避免这样的事情:

childState.setState({klasa: "yellow"});
您不应该从父级设置子级状态。状态是组件的内部状态,只能由组件自身更改。相反,父对象可以使用不同的道具重新渲染子对象

如果你只想激活一个按钮,那么你必须有一个只允许激活一个按钮的状态。因为孩子们不知道他们的同胞兄弟姐妹,这一部分的状态必须居住在父母身上。我把它叫做
activeBtn
。如果
activeBtn
为1,则第一个按钮显示为黄色。父对象中的这段状态对应于子对象中的布尔属性
active
。我还在父级中定义了一个单击处理程序来更改状态。此单击处理程序作为道具传递给每个子级

如果这没有意义,那么修改后的代码应该作为更好的解释: