我的Reactjs代码表示未捕获的TypeError:无法读取属性';价值';空的

我的Reactjs代码表示未捕获的TypeError:无法读取属性';价值';空的,reactjs,Reactjs,我试图制作一个程序,将输入值中的更改显示到输出框中,但得到的错误类似于未捕获类型错误:无法读取null的属性“Value”,我不知道这里的错误是什么 var-App=React.createClass({ getInitialState:函数(){ 返回{ 价值:“我的价值” } }, updateValue:函数(modifiedValue){ 这是我的国家({ 值:修改后的值 }) }, render:function(){ 返回( 你好,FreeCodeCampers!!! {this.

我试图制作一个程序,将输入值中的更改显示到输出框中,但得到的错误类似于未捕获类型错误:无法读取null的属性“Value”,我不知道这里的错误是什么

var-App=React.createClass({
getInitialState:函数(){
返回{
价值:“我的价值”
}
},
updateValue:函数(modifiedValue){
这是我的国家({
值:修改后的值
})
},
render:function(){
返回(
你好,FreeCodeCampers!!!
{this.state.value}
);
}
});

var InputBox=React.createClass({ 更新:函数(){ var modifiedValue=ReactDOM.findDOMNode(this.refs.inputValue).value; this.props.updateValue(modifiedValue); }, render:function(){ 返回( ); } }); ReactDOM.render(, 文档查询选择器(“app”) );

反应教程

我相信您的错误来自
ReactDOM.findDOMNode(this.refs.inputValue).value。您的ref是
初始值
,因此正确的代码应该是

ReactDOM.findDOMNode(this.refs.initialValue).value;
此外,从React 0.14开始,我认为您可以放弃findDOMNode方法来读取值并使用

this.refs.initialValue.value

PS:也许您可以重命名该ref以避免重复命名。

使用您的react(react v0.14及以上版本)您不需要调用
ReactDOM.findDOMNode(this.refs.inputValue)

此.refs.inputValue提供实际的dom节点。
您可以调用
getValue()
等方法来获取该节点的值


我希望这能解决您的问题。

您能添加一些错误详细信息吗?我得到的唯一错误是Uncaught TypeError:无法将nullchenged输入值的属性“value”读取到initialValue,但当我喜欢var modifiedValue=this.refs.initialValue.getDOMNode().value时,它工作正常;并得到错误警告:ReactDOMComponent:不访问DOM节点的.getDOMNode();而是直接使用节点。这个DOM节点是由
InputBox
呈现的。我尝试了var modifiedValue=This.refs.initialValue.getDOMNode().value;获取错误警告:ReactDOMComponent:不访问DOM节点的.getDOMNode();而是直接使用节点。此DOM节点是由
InputBox
呈现的。您不需要调用
getDOMNode()
。您可以使用
this.refs.inputValue.getValue()
var-InputBox=React.createClass({update:function(e){//var-modifiedValue=ReactDOM.findDOMNode(this.refs.initialValue).value;//var-modifiedValue=this.refs.initialValue.value;var-modifiedValue=e.target.value this.props.updateValue(modifiedValue);},所以我在这里写了三个方法一,我应该练习哪一个呢