通过回调函数将数据从子级传递到父级组件,但是不起作用。我在这里做错了什么?将数据从子级传递到父级组件-反应-通过回调函数
https://codepen.io/silentarrowz/pen/GEMQEP?editors=0010
这是代码
class App extends React.Component{
constructor(props){
super(props);
this.state={
input:'this is the input for now'
}
//this.handleInput=this.handleInput.bind(this);
}
handleInput(x){
this.setState({
input:x
});
alert(this.state.input);
}
render(){
return(
<div>
<h1>Passing props from Child to Parent Component</h1>
<Child getInput={this.handleInput} />
here's the input: {this.state.input}
</div>
);
}
}
class Child extends React.Component{
constructor(){
super();
this.state={
text:''
}
}
passingProps(e){
var newInput=e.target.value;
//alert(newInput);
this.setState({
text:newInput
});
this.props.getInput(this.state.text);
}
render(){
return(
<div>
<input type="text" placeholder="please input a name..." onChange={this.passingProps} />
</div>
)
}
}
ReactDOM.render(
<App/>,
document.getElementById('app')
);
有几个问题。
1)你必须绑定 passingProps
constructor(){
super();
this.state={
text:''
}
this.passingProps = this.passingProps.bind(this);
}
2)this.setState
是异步的,因此不能保证this.state.text
在传递给时将其设置为所需的值this.props.getInput
。你可以做
this.props.getInput(newInput)
要么
this.setState({ text: newInput }, () => {
this.props.getInput(this.state.text);
})
解决该问题。
问题内容: 我有两个组成部分: 第一个是父组件,它是通常的React组件。 第二个是孩子,它是功能组件。 我想将 Titles 的值(处于子状态)传递给父Component。这是我的 子组件 代码: 这是我的 父组件 : 这看起来很容易,但这是我第一次使用功能组件。你能帮我吗 ? 问题答案: React就是关于在组件树中向下流动的数据。如果您希望能够显示和/或修改彼此之间的共享状态,则应提升状态并
问题内容: 在React中,我有类似的文件 parent.js 包含文本框和按钮 child.js 包含P标签 App.js 包含父组件和子组件 问题 将“父级”上的“文本框”值传递给子级,并将其显示在子级标记中。 完整代码 堆叠 问题答案: 更新了示例以将数据传递给子组件。 https://stackblitz.com/edit/react- trmj9i?file=child.js 在下面添加
我试图将一些信息从子项中的输入字段传递给父项。 到目前为止我所掌握的是: 34 this.setstate({searchstring:event.target.value},()=>{ >35 this.props.onchild(this.state.SearchString); 希望有人能帮忙。顺便说一句,我是个小人...
问题内容: 在我正在从事的新项目中,我开始使用组件而不是指令。 但是,我遇到一个无法找到具体标准方法的问题。 从孩子向父母通知事件很容易,您可以在下面的我的plunkr上找到它,但是从父母向孩子通知事件的正确方法是什么? Angular2似乎通过使用以下方法解决了此问题:https ://angular.io/docs/ts/latest/cookbook/component-communicat
问题内容: 我用这个文章为例(做出反应的方式),但它不是为我工作。请指出我的错误,因为我不明白怎么了。 这是我看到的错误: 未捕获的TypeError:this.props.onClick不是函数 这是我的代码: 提前致谢! 问题答案: 问题在于回调内部不引用React组件,因此是。 您可以通过将第二个参数传递给来显式设置值: 现在,回调 内部 的值与回调 外部 (即实例)的值相同。 这与Reac
我正在使用样式组件库与TypeScript。当创建从react组件继承样式化组件时,我遇到了问题。是node_module(我无法更改的行为)。但是将所有道具传递给。 如果具有没有的任何属性,则控制台中会显示警告消息,因为没有属性: 警告:React无法识别DOM元素上的属性。如果您有意希望它作为自定义属性出现在DOM中,请将其拼成小写。如果您不小心从父组件传递了它,请将它从DOM元素中移除。 在