javascript - 使用 react.js 从嵌套子项中获取表单值

标签 javascript reactjs ecmascript-6

如何将 child 的状态传回容器?我有一个非常简单的应用程序,但因为我现在将它们拆分为更小的组件,所以我无法将状态值 (Form) 传递回其容器。我也可以在子组件中调用 api,然后通过 props 容器接收它,但这并不干净,我希望将“最终事件”放置在容器中,并且容器具有“主要”状态。

我的初衷(确保“主要”状态存储在容器中)是否正确?如果是,如何将状态从子组件传回容器?假设我没有使用 redux。

https://codesandbox.io/s/8zrjjz3yjj

最佳答案

将方法作为 props 传递:

家长:

class Parent extends Component {
    ....

    render = () => <Child onChange={childDidSomething}/>

    childDidSomething = state => {
        ...
    }
}

child :

class Child extends Component {
    ....

    render() {...}

    somethingChanged() {
        this.props.onChange(this.state);
    }
}

关于javascript - 使用 react.js 从嵌套子项中获取表单值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48318805/

相关文章:

javascript - 在 Mapbox GL JS 中将 buildLocationList() 与外部 GeoJSON 文件一起使用

reactjs - 我可以在 Context API 中使用 React Context API 还是必须合并它们?

reactjs - 提交表单(ReactJS)到 Google Spreadsheet - 更改消息验证

javascript - react 数据表错误

webpack - 在 Babel 中使用赋值进行 Javascript 对象解构

javascript - 递归地 trim 对象键和值中的空格

javascript - NodeJS返回的数据有时会改变

javascript - es6 querySelectorAll 一个类并获取它的数据属性

javascript - React - 合并 2 个字符串以获取 URL

javascript - innerHtml 不适用于 Div