我们有react-graph-vis
处于状态的选项:
{
options: {
physics: {
enabled: false
...
}
}
nodes: {
font: “12px sans-serif #888f99”
...
}
}
我们要使用父组件中的道具更新options.physics.enabled
和options.nodes.font
,而无需删除或编辑状态下的任何其他默认选项:
<Graph
graph={this.state.graph}
options={{
...this.state.options,
physics: { enabled: {this.props.isPhysicsOn}},
nodes: {nodes: {font: this.props.isNodeLabelShowing ? ‘12px sans-serif #888f99’ : ‘12px sans-serif transparent’},
}}
events={this.events}
/>
我错了吗?
答案 0 :(得分:5)
您的第一次传播很棒,您也只需为孩子对象传播。
<Graph
graph={this.state.graph}
options={{
...this.state.options,
physics: {
...this.state.options.physics,
enabled: this.props.isPhysicsOn
},
nodes: {
...this.state.options.nodes,
font: this.props.isNodeLabelShowing ? '12px sans-serif #888f99' : '12px sans-serif transparent',
},
}}
events={this.events}
/>
您是正确的,因为您要删除physics
和nodes
中的所有其他字段。试试这个^^。