当前位置: 首页 > 知识库问答 >
问题:

获取子组件的状态

宦炜
2023-03-14

在这个例子中,我想在我的父组件中使用我的子组件的状态。

<Application onChange={(myVar)=>{console.log(myVar)}}/>

共有1个答案

年运珧
2023-03-14

你的onChange只是一个普通的道具,你传递到你的Application组件。所以如果它是一个函数,你可以随时调用它。在这种情况下,在应用程序的状态更新时调用它更有意义。您可以使用setState函数的第二个参数,这是一个可选的回调函数。但是只要确保你的onChangeprop已经定义,并且它是一个函数,然后再用你想要传递的任何参数调用它。

class Application extends React.Component {
  constructor(props){
    super(props);
    this.state = {myVar:0};
    setInterval(()=>{
      this.setState( { myVar:this.state.myVar + 1 }, () => {
        if(this.props.onChange && typeof this.props.onChange === "function")
          this.props.onChange(this.state.myVar)
      } ); 
      }, 3000);
  }

  //.....

}

更新的代码笔:https://codepen.io/anon/pen/gWvKxa

 类似资料:
  • 我试图在父组件中显示子组件的状态,但不知何故,文本“abcde”仍然没有显示,这是示例代码 但不知怎么的,屏幕仍然是空的,“abcde”直到我点击两次,来自功能组件,所以我不知道发生了什么,请帮助,非常感谢

  • 我有两个组件:父组件,我想改变子组件的状态: 和子组件: 我需要从父组件更改子组件的打开状态,或者当单击父组件中的按钮时,从父组件调用子组件的toggleMenu()?

  • 假设我的父组件有两个子组件: 我从Child2获得一个输入,并将其传递给父组件(到目前为止,我知道该怎么做)。但是,我需要将该输入传递给Child1,以更新它的状态。 我怎么能那么做?

  • 我有一个父组件[MainLayout],它有一个子组件[ListItems],并且有多个子组件[ListItem]。 谢谢你的回答!

  • 我有一个要导入页面的组件: 在页面上,我呈现组件