如何解决为什么我的组件即使在调用渲染功能时也不会改变?反应
我正在使用此方法从父组件更改子组件状态:
来自家长:
this.changeBottomToolbar(newTool)
在 Child 的类上声明的方法
changeBottomToolbar(newToolbarName){
this.setState({selectedToolbar: newToolbarName})
}
这是状态更改,并在我检查控制台时重新呈现。
getBottomToolbar(){
switch(this.state.selectedToolbar){
case "SelectorAndText":
console.log("Devolviendo el selector")
return <TextBottomToolbar
ref={this.bottomToolbarRef}
fontSizeUpdater = {this.fontSizeUpdater}
fontColorUpdater = {this.fontColorUpdater}
strokeColorUpdater = {this.strokeColorUpdater}
strokeSizeUpdater = {this.strokeSizeUpdater}
fontFamilyUpdater = {this.fontFamilyUpdater}
alignmentUpdater = {this.alignmentUpdater}
/>
break
case "FreeLine":
console.log("Devolviendo el Line")
return <LineBottomToolbar
ref={this.bottomToolbarRef}
strokeColorUpdater = {this.strokeColorUpdater}
strokeSizeUpdater = {this.strokeSizeUpdater}
shadowColorUpdater={this.shadowColorUpdater}
shadowSizeUpdater={this.shadowSizeUpdater}
/>
break
}
}
我在渲染时调用它:
render(){
const { classes } = this.props
console.log(this.state.selectedToolbar)
return (
<React.Fragment>
{
this.getBottomToolbar()
}
</React.Fragment>
);
}
正如你在这张图片中看到的,代码被正确执行并且当它的状态改变时它返回另一个组件
但是即使渲染它再次被调用并且它的状态它正在改变,但组件它没有改变,我完全震惊,我不知道为什么会发生这种情况,请帮忙!!
解决方法
所以问题是我错误地复制粘贴了导入(facepalm)
这是我正在做的导入,所以我认为它不会改变
pip install pandas
这更正了问题:
import TextBottomToolbar from './BottomToolbars/TextBottomToolbar'
import LineBottomToolbar from './BottomToolbars/TextBottomToolbar'
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。