gpt4 book ai didi

javascript - 我们可以将 setState 作为 props 从一个组件传递到另一个组件,并在 React 中从子组件更改父状态吗?

转载 作者:行者123 更新时间:2023-11-29 15:14:54 26 4
gpt4 key购买 nike

 class App extends Component {
constructor() {
super();
this.state = {
name: 'React'
};
this.setState=this.setState.bind(this)
}

render() {
return (
<div>
<Hello name={this.state.name} />
<p>
Start editing to see some magic happen :)
</p>
<Child {...this}/>
</div>
);
}
}

child Component
var Child=(self)=>{
return(
<button onClick={()=>{
self .setState({
name:"viswa"
})
}}>Click </button>
)

这里我绑定(bind)了 setState 函数并将其作为 props 发送给子组件。这将改变父组件的状态。这是正确的方法吗?

最佳答案

But this is simple than passing function.If I want change many state change. this will be simple and faster way compare to passing function right ?

执行此操作的正确方法与您的方法一样简单,并且不违反最佳实践:

class App extends Component {
state = {
name: 'React',
};

render() {
return (
<div>
<Hello name={this.state.name} />
<p>
Start editing to see some magic happen :)
</p>
<Child onClick={() => this.setState({name: 'viswa'})}/>
</div>
);
}
}

const Child=({onClick})=>(
<button onClick={onClick}>Click</button>
);

关于javascript - 我们可以将 setState 作为 props 从一个组件传递到另一个组件,并在 React 中从子组件更改父状态吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50215364/

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