我是新来的人。我开始认为我是错的,但我曾经认为您可以使用函数语法或类组件语法进行相同的操作。 是否可以使用功能组件来更改子组件的状态?
我的意思是这样的...
_onChildClick = (key, childProps) => {
this.setState({show: !this.state.show})
}
提前谢谢
答案 0 :(得分:0)
您可以这样做:
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>
希望这会有所帮助,
答案 1 :(得分:0)
否,父组件不能更改子组件的状态。父母只能将道具传递给孩子。功能组件和基于类的组件都是相同的。