javascript - 如何在组件之间传递状态?

标签 javascript reactjs

我是 React JS 新手,我想创建一个待办事项列表应用程序。我有 App.js 这是主页,因此我为 App.js 页面创建了 MainBlock 组件,该组件包含左侧和右侧我的布局和右侧属性中它加载 Form 组件,该组件具有 inputbutton 并将输入值保存到 state< 中的数组 并在左侧加载 List 组件,该组件具有名为 allTask​​s 的属性,可打印所有任务。 我的问题是如何将 allTask​​s 状态从 Form 组件传输到 App.js 以将其传递给 List 组件属性? 在 App.js 中:

<MainBlock
left={  
    <List allTasks={['خرید از فروشگاه', 'تعویض دستگیره درب منزل']} />} 
right={
    <Form />
} />

最佳答案

您可以通过将任务存储为 App 组件中的状态来实现此目的,并让 Form 通过回调 prop 传递状态。这个概念被称为“提升状态”。这是有关它的指南:https://reactjs.org/docs/lifting-state-up.html

<MainBlock
  left={
    <List allTasks={this.state.allTasks} />
  }
  right={ 
    <Form onSubmit={allTasks => this.setState({ allTasks })} />
  }
/>

关于javascript - 如何在组件之间传递状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48967959/

相关文章:

javascript - 在 React JS 中使用箭头键递增和递减时获取重复项

javascript - 如何使用参数更改组件本地状态?

node.js - 如何使用 React-Helmet 优化 SPA 的 SEO?

javascript - 循环遍历 <divs> 数组,每次使用 javascript 只显示一个

javascript - Webmatrix 2 - 根据 Razor 中的用户角色进行 URL 重定向

带有 '-' 的 Javascript 对象属性无法正常工作

javascript - Puppeteer - 如何使用 page.evaluateHandle

android - 处理 BackHandler

javascript - 如何在 JavaScript 中检测浏览器 "minimized"和 "maximized"状态?

javascript - 引用另一个 .html 文件中的标签