在反应中更改子组件状态

时间:2019-10-22 21:05:47

标签: javascript reactjs

我是新来的人。我开始认为我是错的,但我曾经认为您可以使用函数语法或类组件语法进行相同的操作。 是否可以使用功能组件来更改子组件的状态?

我的意思是这样的...

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

提前谢谢

2 个答案:

答案 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)

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