【发布时间】:2017-03-24 19:36:57
【问题描述】:
我有一个包含此代码的反应类:
getInitialState: function(){
return {
results: false,
value: ''
};
},
handleClick: function(event) {
this.setState({ results: true });
event.preventDefault();
},
handleChange: function(event){
this.setState({value: event.target.value})
},
<input type="text" id="playerName" value={this.state.value} onChange={this.handleChange} placeholder="name" />
在另一个 REACT 课程中
我有:
myFunc: function() {
this.setState({info: true})
let name = this.props.value;
console.log(name) --> returns undefined
},
我怎样才能命名为等于用户输入的名称,方法是将它从一个反应类传递到另一个反应类
我可以发布更多代码,但我认为 props 是在其他地方传递您需要的代码的方式。 this.state.value 也返回 undefined
编辑:
myFunc 在此处调用:
<input type="submit" value="I can play" onClick={() => this.myFunc()}/>
【问题讨论】:
-
你需要像
this.handleChange.bind(this)这样在handleChange方法中明确绑定this。试试这个,是的,如果它仍然不起作用,请发布更多代码,可以尝试 Codepen 将你的整个代码放在上面。 -
@BasimHennawi 不,不是
createClass。如果 OP 使用带有class的反应组件,那将是一个问题。 -
如何设置
this.props.value?你能展示使用myFunc的组件吗? -
@DavinTryon 又添加了一行来显示我调用 myFunc 的位置,还有什么你想看的吗?
标签: javascript reactjs input state