在熟悉 React 时,我偶然发现了开发人员文档中门户的概念。但是,我很难理解这个门户组件实际上是如何按需呈现的,以及我如何将数据传递给它以填充模式。
目前,我有两个相互交互的组件:View.js
和DataTable.js
.
View.js
:
const Example = (props) => {
console.log(props);
return (
<div>
<TopBar />
<DeploymentsHeader env={props.match.params.env} />
<PendingDataTable env={props.match.params.env} />
<DataTable env={props.match.params.env} />
</div>
);
}
现在对于DataTable
组件,正在呈现一个反应表。当用户单击单个行时,我的目标是弹出一个模式(我仍然不清楚如果我使用 React 门户,这是否需要有自己的单独组件)并填充数据已经绑定到单个行(我测试过并且也可以访问)。
代码看起来像这样:
<ReactTable
data={tableData}
filterable={true}
getTrProps={this.onRowClick}
columns={[
{
Header: "Header",
accessor: "service_name"
},
...
]}
/>
现在这是传递给表格行道具并在点击时执行的函数:
onRowClick = (state, rowInfo) => {
return {
onClick: e => {
console.log('A Tr Element was clicked!');
console.log(rowInfo.original);
}
}
}
我需要的数据在对象中很容易获得rowInfo.original
。现在我的问题是:当执行诸如此 onClick 触发器之类的事件时,使用门户加载模式的“正确”或“最佳实践”方式被认为是什么?
- 我是否需要有一个
Modal.js
实际上是门户的单独组件? - 我如何从这个
onRowClick
函数中获取传输到这个模态门户的数据?
感谢大家。