gpt4 book ai didi

reactjs - 如何在React中从子组件更新父状态+发送参数

转载 作者:行者123 更新时间:2023-12-03 13:58:36 25 4
gpt4 key购买 nike

我正在关注这个tutorial但它没有说明如何向函数传递参数。

他们有 child

 <Button onClick={this.props.action} />



handler(id) {
this.setState({
messageShown: true,
id : id
});
}

如果我想随它一起发送一个值(比如一些 id 或其他东西),会发生什么。

我尝试过

 <Button onClick={() => this.props.action(1)} />

但是我的“状态”未定义。

最佳答案

如果没有看到完整的代码示例,很难说出了什么问题,但是您尝试做的事情肯定是可能的。这是一个有效的示例。

class Parent extends React.Component {
constructor(props) {
super(props)

// Bind the this context to the handler function
this.handler = this.handler.bind(this);

// Set some state
this.state = {
messageShown: false
};
}

// This method will be sent to the child component
handler(id) {
this.setState({
messageShown: true,
id: id
});
}

// Render the child component and set the action property with the handler as value
render() {
console.log(this.state);
return (
<div>
<Child action={this.handler} />
<div>{this.state.id}</div>
</div>
);
}
}

class Child extends React.Component {
render() {
return (
<div>
{/* The button will execute the handler function set by the parent component */}
<button onClick={() => this.props.action(1)} > button </button>
</div>
)
}
}
ReactDOM.render(<Parent />, document.getElementById('main'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/15.1.0/react-dom.min.js"></script>


<div id="main"></div>

关于reactjs - 如何在React中从子组件更新父状态+发送参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51109495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com