我将状态的初始值(名为side_panel_width)设置为250px,并有一种方法可以在Parent组件中将此side_panel_width设置为新的大小。我从child1组件调用set方法,并在child2组件中使用该状态。但是,当我在child2组件中打印状态值时,它不会更新。意味着我只能看到初始值。
我要做什么?
在父组件中,我的状态名为“ side_panel_width”,并将其设置为150。在父组件中,我有一个set_panel_width方法,当用户在sidePanel_component中调整side_panel的大小时,该方法会更新side_panel_width状态。并将父组件的side_panel_width状态传递给视图组件。
下面是代码,
export default class ParentComponent extends React.PureComponent {
state = {
side_panel_width = 150;}
set_side_panel_width = (new_size) =>{
this.setState({side_panel_width: new_size});
render () {
return {
<SidePanelComponent
side_panel_width = {this.state.side_panel_width}
set_side_panel_width = {this.set_side_panel_width}/>
<ViewComponent
side_panel_width={this.state.side_panel_width}/>}}}
export default class SidePanelComponent extends React.PureComponent {
render () {
return {
<ResizeSlider
resize={this.props.set_side_panel_width}/>}}}
export default class ResizeSlider extends React.PureComponent {
render () {
resize = (new_size) => {
this.props.set_side_panel_width(new_size);
}}}
export default class ViewComponent extends React.PureComponent {
render () {
console.log("side_panel_width, this.props.side_panel_width);
}}
但是当我在viewcomponent中记录side_panel宽度时,我看到了初始值150 ...当我调整侧面板的大小时,side_panel_width发生了变化,但在viewcomponent中没有显示更新的值。我该如何解决?谢谢