javascript - 读取 DataContext 对象的数据

标签 javascript reactjs

我的问题是关于我正在修改的 NodeJS + ReactJS 应用程序。我能够进行一些修改,但由于我有限的 React 知识,我无法执行以下操作。这是 Gitub 上的应用程序:https://github.com/nice-table/bitmex-scaled-orders

我位于文件“src/modules/orders/OrderForm.js”内,并尝试访问“位置”数据(我认为这是在文件“src\modules\data\DataProvider.js”中处理的)。相同的位置数据在此文件中呈现:“src/containers/Dashboard/PositionsTable.js”

如何从 OrderForm 文件中访问“仓位”数据? PositionsTable.js 文件中呈现的数据相同。

最佳答案

根据代码,OrderForm组件使用UISettingsContext.ConsumerPositionsTable使用DataContext.Consumer,所以如果您想将 positions 传递给 OrderForm 组件,则必须将这 2 个消费者组合起来,如下所示:

<UISettingsContext.Consumer>
{settingsData => (
  <DataContext.Consumer>
  {dataContext => (
    <OrderForm
      instrumentData={settingsData.getCurrentInstrumentData()}
      currentInstrument={settingsData.currentInstrument}
      positions={dataContext.getAllPositions()}
      createOrders={createBulkOrders.doFetch}
    />
  )}
  </DataContext.Consumer>
)}
</UISettingsContext.Consumer>

当然,您必须修改 OrderForm 组件才能接受 positions 属性,如下所示:

function OrderForm({ positions, currentInstrument, instrumentData, createOrders }) {
...
}

关于javascript - 读取 DataContext 对象的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60981860/

相关文章:

javascript - lodash 中的多个版本的 keyBy? (组值共享一个键作为一个数组)

javascript - 无法使 Context API 在 React 应用程序上工作,未捕获的 TypeError : react__WEBPACK_IMPORTED_MODULE_0__. useContext(...) 不可迭代

javascript - 如何用步骤流程实现 react 导航图标

javascript - 如何将子菜单中文本元素的语义 react 图标移动到左侧?

javascript - 如何设置 HTML 元素的样式以避免悬挂文本?

javascript - 为什么我在 put 请求中的更新会覆盖 Sequelize 中的整个记录​​?

javascript - Angular 响应式表单提交事件

javascript - 使用 JS 在所有文本字段中每 3 位数字后添加点

javascript - TypeError : props. handleToggle 不是一个函数

javascript - 如何使 event.stopPropagation() 适用于表单内的输入字段?