Reactjs getInitialState上未定义的属性

Reactjs getInitialState上未定义的属性,reactjs,Reactjs,React noob,尝试为我的复选框控件设置初始值。我设置了属性,并尝试使用getInitialState将状态设置为属性值。问题是,道具在getInitialState中似乎未定义。我简化并创建了一个jsbin来显示这个问题 var testcontrol=React.createClass({ getInitialState:函数(){ 返回{testval:this.props.testval}; }, render:function(){ 返回( ); } }); 反应( ,文件正文)

React noob,尝试为我的复选框控件设置初始值。我设置了属性,并尝试使用getInitialState将状态设置为属性值。问题是,道具在getInitialState中似乎未定义。我简化并创建了一个jsbin来显示这个问题

var testcontrol=React.createClass({
getInitialState:函数(){
返回{testval:this.props.testval};
},
render:function(){
返回(
);
}
});
反应(
,文件正文);

同样在jsbin中,尝试了componentDidMount方法,得到了相同的结果。如果我更新getInitialState以用硬编码的值替换prop,那么一切都正常。我确实阅读了React文档并看到了反模式语句,但我只是试图设置初始状态,我理解为OK。

在您的示例中,您在
组件上设置了
testval
道具,但在正在检查它的
组件上没有设置。可能是个小疏忽。您只需更改:

<Chkbox1 ref="box1" lblOn={this.props.lblOn} 
         lblOff={this.props.lblOff} />


在您的示例中,您在
组件上设置了
testval
属性,但在
组件上没有设置,该组件是正在检查属性的组件。可能是个小疏忽。您只需更改:

<Chkbox1 ref="box1" lblOn={this.props.lblOn} 
         lblOff={this.props.lblOff} />



在这种情况下,您试图将道具设置为状态有什么具体原因吗?假设我有一张以前有人填写过的表格。我想在该表单上显示以前的值,以便更新这些值。我似乎找不到任何其他方法来将数据更改为控件。我遇到的每个示例都从空白状态开始创建表单。我需要用数据预先填充表单。在这种情况下,您尝试将道具设置为状态是否有特定原因?假设我有一个以前有人填写过的表单。我想在该表单上显示以前的值,以便更新这些值。我似乎找不到任何其他方法来将数据更改为控件。我遇到的每个示例都从空白状态开始创建表单。我需要用数据预填充表单。感谢解决方案Rossipedia。感谢解决方案Rossipedia。
<Chkbox1 ref="box1" lblOn={this.props.lblOn} 
         lblOff={this.props.lblOff} testval={this.props.testval}/>