我的问题是关于我正在修改的 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.Consumer
,PositionsTable
使用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/