0

我是新来的反应。我开始认为我错了,但我曾经认为你可以使用功能语法或类组件语法来做同样的事情。有没有办法使用功能组件更改子组件的状态?

我的意思是这样的...

_onChildClick = (key, childProps) => {
    this.setState({show: !this.state.show})
  }

先感谢您

4

2 回答 2

0

不,父组件不能更改子组件的状态。父母只能将道具传递给它的孩子。这对于功能组件和基于类的组件都是相同的。

于 2019-10-22T21:37:02.003 回答
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>

希望这可以帮助,

于 2019-10-22T21:35:38.790 回答