我是新来的反应。我开始认为我错了,但我曾经认为你可以使用功能语法或类组件语法来做同样的事情。有没有办法使用功能组件更改子组件的状态?
我的意思是这样的...
_onChildClick = (key, childProps) => {
this.setState({show: !this.state.show})
}
先感谢您
我是新来的反应。我开始认为我错了,但我曾经认为你可以使用功能语法或类组件语法来做同样的事情。有没有办法使用功能组件更改子组件的状态?
我的意思是这样的...
_onChildClick = (key, childProps) => {
this.setState({show: !this.state.show})
}
先感谢您
不,父组件不能更改子组件的状态。父母只能将道具传递给它的孩子。这对于功能组件和基于类的组件都是相同的。
你可以这样做:
const {useState} = React;
function App(){
const [count, setCount] = useState(0);
return <div>
Current count: {count}<br/>
<button onClick={()=>setCount(count-1)}>-</button>
<button onClick={()=>setCount(count+1)}>+</button>
</div>;
}
ReactDOM.render(<App/>, document.querySelector('#app'));
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.8.5/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.8.5/umd/react-dom.production.min.js"></script>
<div id='app'></div>
希望这可以帮助,