我有带有原理图代码的React组件:
class OrderList extends Component {
constructor() {
super();
this.handleUpdate = this.handleUpdate.bind(this);
}
handleChange(event) {
//>>POI how to get reference to the Grid, that is defined in the component tree?
//grid.forceUpdate();
}
render() {
return (
<div>
<Grid data={this.props.orders}>
<button onClick={this.handleUpdate}>Update</button>
</div>
);
}
}
<Grid>
是一些复杂的React组件,例如https://devexpress.github.io/devextreme-reactive/react/grid/或https://www.ag-grid.com/react-getting-started/,其出现取决于某些状态变量。如果更新<Grid>
,则会自动重新渲染this.props.orders
(例如,更新其最终的,通过React计算的样式)。但是我有this.state.selectedOrderNo
变量,它不属于this.props.orders
(当然,这是2个不同的变量-道具数组和状态标量),并且Grid具有一些取决于{{1 }},但仅在重新渲染this.state.selectedOrderNo
时才计算/渲染这些样式规则(但当<Grid>
更改时,不会发生这种重新渲染,因为这些样式规则是比的直接参数更深的选项) this.state.selectedOrderNo
),但我想在更改<Grid>
时开始重新渲染网格。因此,这就是为什么我要致电this.state.selectedOrderNo
的原因。但是问题是-如何获得grid.forceUpdate()
的参考grid
?
答案 0 :(得分:1)
您需要在Grid中使用$state.go('target.state', params, {inherit: false});
才能使其正常工作
ref
希望有帮助