如何将状态从子组件传递到父组件?

凯文

我有一个名为 的父组件App和一个名为 的子组件Left

Left组件有几个组件称为SettingsNotesList

class Left extends Component {
  constructor() {
    super();

    this.state = { isAddNewNoteClicked: false };
  }

  render() {
    return (
      <section>
        <Settings onNew={this.onNewNote.bind(this)} />
        <NotesList newNote={this.state.isAddNewNoteClicked} />
      </section>
    );
  }

  onNewNote = (isAddNewNoteClicked) => {
    this.setState({ isAddNewNoteClicked });

    {/* SEE EDIT */}
    {/* this.props.onNewNote(this.state.isAddNewNoteClicked); */}

    {/* SEE EDIT #2 */}
    this.props.onNewNote(isAddNewNoteClicked);
  }
}

Settings组件具有一个按钮,将通过isAddNewNoteClicked作为true点击时。

状态被向上传递到Left顺利,但我的问题是通过isAddNewNoteClickedLeftApp

<App /> 看起来像这样

class App extends Component {
  constructor() {
    super();

    this.state = { isAddNewNoteClicked: false };
  }

  onNewNote = () => {
    console.log('test');
  }

  testFunction(a) {
    console.log('test', a);
  }

  render() {
    return (
      <main className="App">
        <Left onNew={this.testFunction.bind(this)} />
        <Right isAddNewNoteClicked={ this.state.isAddNewNoteClicked } />
      </main>
    );
  }
}

编辑

所以我在我的组件添加this.props.onNewNote(this.state.isAddNewNoteClicked);了这个onNewNote函数<Left />,它现在正在调用那个函数,但是“”上的状态没有被更新......

编辑#2

而不是this.props.onNewNote(this.state.isAddNewNoteClicked);我添加了变量本身而不是来自状态的变量,它现在正在工作。

凯文

好的,所以添加这一行

this.props.onNewNote(isAddNewNoteClicked);

onNewNote()功能上<Left />修复了这个问题。

希望它帮助别人!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将值从子组件传递到父组件

如何将值从子组件(基于函数的组件)传递到父组件(基于类的组件)

单击父组件上的按钮时如何将数据从子组件传递到父组件

如何将道具从子组件传递到父组件的父组件?

如何将数据从子组件(子组件有自己的状态)传递给父组件?

将状态从子组件传递到父组件

如何将道具从子组件传递给父组件

如何将值从子功能组件传递到父类组件?

如何将信息从子组件传递到父组件中的函数?(反应本机)

如何将单个数据从子组件传递到父组件?

在React中,如何将参数从子组件传递到父组件?

如何将输入值从子组件传递到父组件

如果子组件是动态组件,如何将数据从子组件传递给父组件

如何将子组件的状态传递给父组件?

如何将状态与父组件传递给子组件

如何将数据从子级传递到父级组件Angular

如何将状态从子级传递到应用程序组件

如何在反应中将状态从子组件传递到父组件

React-将值从子组件传递到父组件

将事件从子组件传递到父组件Angular 5

将数据从子组件传递到父组件

角度5:将数组从子组件传递到父组件

将状态从子组件传递到父组件中包含的另一个子组件

如何将数据从子组件传递给父组件 [Angular]

如何将父状态传递给其子组件?

如何在React中使用钩子将数组从子组件传递到父组件

如何使用反应钩子将数据从子组件传递到父组件

如何在Angular 4中将值从子组件传递到父组件

如何在Angular4中将数据从子组件传递到父组件