当前位置: 首页 > 面试题库 >

反应:如何将道具从孩子传递给父母到另一个孩子?

申屠飞
2023-03-14
问题内容

我在这里有一个简单的设置:

我有一个父组件,该父组件有2个子组件。在第一个子组件中:用户更改输入的值。然后,该更改的值将是我想要从该孩子传递给父对象的道具,以便可以将其传递给与同一父组件相连的另一个孩子。

Main (parent component)___|
                          |_Child 1
                          |_Child 2

当前设置的这个,请查看

从用户输入到UI更改的流程:1.在“ Child
1”中:调整一个滑块,将onChange值传递给父组件;2.将此属性(新的滑块值)传递给Parent组件,以便“ Child
2”组件可以使用它;3.然后,该道具,即valueOfUserInput(新的滑块值)将在有关样式“ Child 2”组件元素的if /
else语句中使用。

我看过与我的问题相似的解决方案和教程,但是对我来说意义不大。我整天都在闲逛,穿插着开会。

任何帮助或建议将是惊人的。谢谢大家对这个React noob的耐心配合。


问题答案:

当您希望2个孩子交流或共享一些数据时,在React中实现此目的的方法是 提升状态
(source)。

这意味着孩子使用的状态应该居住在父母中。然后父母将状态传给孩子。

要从子项中的操作更新状态,通常的模式是从父项中传递一个函数,该函数在子项中执行该操作时会被调用。

这是一个示例,它可以满足您的要求:

class Parent extends React.Component {
  constructor(props) {
    super(props);
    this.state = { valueOfUserInput: '' };
  }

  handleUserInputChange = event => {
    this.setState({
      valueOfUserInput: event.target.value,
    });
  };

  render() {
    const { valueOfUserInput } = this.state;
    return (
      <div>
        <Child1 valueOfUserInput={valueOfUserInput} onUserInputChange={this.handleUserInputChange} />
        <Child2 valueOfUserInput={valueOfUserInput} />
      </div>
    );
  }
}

class Child1 extends React.Component {
  render() {
    const { valueOfUserInput, onUserInputChange } = this.props;
    return <input type="text" value={valueOfUserInput} onChange={onUserInputChange} />;
  }
}

class Child2 extends React.Component {
  render() {
    const { valueOfUserInput } = this.props;
    return (
      <div>
        {valueOfUserInput}
      </div>
    );
  }
}


 类似资料:
  • 问题内容: 在组件中,我需要将函数的返回值传递给属性。然后从属性需要被传递到的组件。新来的反应。不确定如何将属性从子级传递到组件。 问题答案: 您可以将函数从父级传递给子级,子级可以使用颜色调用该函数(很多操作都类似于事件处理程序)。在App中收到颜色后,使用.setState()将其分配给状态值,然后将其在render()中获取

  • 我在找到一种将道具传递给组件子组件的方法时遇到了一点麻烦。我想做的是有一个组件(ParentComponent)它有一个函数(toggleSuccess())来改变它自己的状态(例如一个名为成功的布尔值),并将该函数作为onClick道具传递给它的所有子函数。理想情况下,我可以将各种组件放入ParentComponent,它们都可以通过onClick道具访问toggleSuccess()。有没有一

  • 重要提示:如果你正在阅读这篇文章,那么也考虑看看这篇文章进行深入讨论。 这是一个非常常见的做法/情况/要求,其中一个父级的子级可以迁移到另一个父级。如果在这种关系的反面将设置为会发生什么? 考虑作为示例,任何简单的一对多关系如下。 反面(部门) : 拥有方(员工): 在合并如下操作/动作时(其中< code>department是由客户端提供的分离实体), 当然,添加和删除员工可能最好使用关联实体

  • 我想在React中将数据从子组件发送到父组件。查找数据时,只有类类型,没有功能文档。您可以使用什么语法传递数据?

  • 问题内容: 我有以下标记: 我希望将样式设置为“一个”和“三个”。 但是,标记也可以是: 我尝试使用以下CSS: 但是,正如预期的那样,这是每个样式的第一个子元素的样式。 如何更改CSS,以便可以定位属于的第1个和第3个? 问题答案: 您不能仅凭CSS选择器来做到这一点。和兄弟组合器仅限于共享其父代的子代/兄弟姐妹,正如其名称所暗示的那样,并且CSS选择器无法解释父子结构的这种变化,也没有类似选择

  • 我对在反应中传递道具有问题。这是我的文件夹结构: src > Button.js 容器 PageContainer.js 页 Page.js 我正在使用Bootstrap 4在Button.js中创建一个按钮: “类”按钮中没有其他内容。现在我在类PageContainer中添加了一个按钮: 如你所见,我给按钮传递了一个标题:后退和下一步。那工作正常。我现在可以添加一个网址,它会工作正常,但这不是