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