在React中为父组件赋予状态

尼克·祖伯

我知道您可以将React中的状态和props从父组件传递到子组件,但是有任何相反的方法吗?

例如:

给定一些子组件:

var Child = React.createClass({

  getInitialState: function(){
    return {
      data: ''
    };
  },

  componentDidMount: function(){
    this.setState({data: 'something'});
  },

  render: function() {
    return (
      <div>
        ...
      </div>
    );
  }

});

并给出一些父组件:

var Parent = React.createClass({

  render: function() {
    return (
      <div>
        <Child />
        ...
      </div>
    );
  }

});

我有什么办法可以从中给出Parent状态数据的值Child

马修·赫伯斯特(Matthew Herbst)

不。

但是,是的。但是真的不行。

您不能在React中将任何东西从孩子“传递”给父母。但是,可以使用两种解决方案来模拟这种传递。

1)将回调从父级传递给子级

var Parent = React.createClass({
  getInitialState: function() {
    return {
      names: []
    };
  },
  addName: function(name) {
    this.setState({
      names: this.state.names.push(name)
    });
  },
  render: function() {
    return (
      <Child 
        addName={this.addName}
      />
    );
  }
});

var Child = React.createClass({
  props: {
    addName: React.PropTypes.func.isRequired
  },
  handleAddName: function(event) {
    // This is a mock
    event.preventDefault();
    var name = event.target.value;
    this.props.addName(name);
  },
  render: function() {
    return (
      ...
        onClick={this.handleAddName}
      ...
    );
  }
});

第二个选项是通过使用Flux样式的动作/存储系统(例如RefluxRedux)来具有顶级状态这些基本上执行与上述相同的操作,但是更加抽象,使在更大的应用程序上执行变得非常容易。

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

从React中的父路由组件加载状态

来自分类Dev

当父状态在React中更改时停止渲染子组件

来自分类Dev

尝试从子组件React Hooks更改父级中的状态

来自分类Dev

从React中的子组件更改父状态(无Redux)

来自分类Dev

可以将 React 组件存储在父状态中吗?

来自分类Dev

在 React 的父组件中访问子状态值

来自分类Dev

React:获取父组件中子组件的状态

来自分类Dev

更新父级状态后如何将React子级组件重置为原始状态

来自分类Dev

react native-用react钩子通知子组件中状态更新的父组件?

来自分类Dev

更改 reactJs 父组件中的状态不会更改 react 子组件中的道具

来自分类Dev

React:单击组件以更改父状态

来自分类Dev

单击带有React JS中特定键的子组件时更改父组件的状态

来自分类Dev

React - 如何更新子组件的父组件 onclick 中的状态 - 我做错了什么?

来自分类Dev

处理子组件中的父状态

来自分类Dev

使用UseState React Hook从子组件更新父组件状态

来自分类Dev

React:使用异步数据更新父组件的子组件状态

来自分类Dev

如何使用React中子组件的状态更新父组件?

来自分类Dev

如何使用React中子组件的状态更新父组件?

来自分类Dev

如何使用React中子组件的状态更新父组件?

来自分类Dev

当父组件的状态更新时,React 子组件不会更新

来自分类Dev

将带有参数的函数传递给子组件,并将返回值发送回父组件,以在reactjs中存储为父组件状态

来自分类Dev

当父状态改变时,如何更新(重新渲染)React中的子组件?

来自分类Dev

在React中,父组件如何通过响应在子组件中执行异步获取功能来设置状态?

来自分类Dev

在React中访问组件状态

来自分类Dev

如何在React中使用钩子从父组件获取其值的父组件中更新正确的状态值?

来自分类Dev

根据子组件中父组件状态的更改,在父组件上执行代码

来自分类Dev

React Hook:将Hook状态传递回父组件

来自分类Dev

React Hooks-与多个动态组件共享父状态

来自分类Dev

React.js,父组件,状态和道具

Related 相关文章

  1. 1

    从React中的父路由组件加载状态

  2. 2

    当父状态在React中更改时停止渲染子组件

  3. 3

    尝试从子组件React Hooks更改父级中的状态

  4. 4

    从React中的子组件更改父状态(无Redux)

  5. 5

    可以将 React 组件存储在父状态中吗?

  6. 6

    在 React 的父组件中访问子状态值

  7. 7

    React:获取父组件中子组件的状态

  8. 8

    更新父级状态后如何将React子级组件重置为原始状态

  9. 9

    react native-用react钩子通知子组件中状态更新的父组件?

  10. 10

    更改 reactJs 父组件中的状态不会更改 react 子组件中的道具

  11. 11

    React:单击组件以更改父状态

  12. 12

    单击带有React JS中特定键的子组件时更改父组件的状态

  13. 13

    React - 如何更新子组件的父组件 onclick 中的状态 - 我做错了什么?

  14. 14

    处理子组件中的父状态

  15. 15

    使用UseState React Hook从子组件更新父组件状态

  16. 16

    React:使用异步数据更新父组件的子组件状态

  17. 17

    如何使用React中子组件的状态更新父组件?

  18. 18

    如何使用React中子组件的状态更新父组件?

  19. 19

    如何使用React中子组件的状态更新父组件?

  20. 20

    当父组件的状态更新时,React 子组件不会更新

  21. 21

    将带有参数的函数传递给子组件,并将返回值发送回父组件,以在reactjs中存储为父组件状态

  22. 22

    当父状态改变时,如何更新(重新渲染)React中的子组件?

  23. 23

    在React中,父组件如何通过响应在子组件中执行异步获取功能来设置状态?

  24. 24

    在React中访问组件状态

  25. 25

    如何在React中使用钩子从父组件获取其值的父组件中更新正确的状态值?

  26. 26

    根据子组件中父组件状态的更改,在父组件上执行代码

  27. 27

    React Hook:将Hook状态传递回父组件

  28. 28

    React Hooks-与多个动态组件共享父状态

  29. 29

    React.js,父组件,状态和道具

热门标签

归档