【发布时间】:2020-09-11 16:21:09
【问题描述】:
我对功能组件很陌生,而且我已经研究了好几个小时了。 我只是想将一个来自父功能组件的道具传递给一个类子组件,以便我将使用更新后的道具(它将是一个布尔值)来更改元素的显示。就是这样。
在这种情况下,我想根据道具将sidenav从打开切换到关闭。
这里是父组件(函数式):
let opened = false;
function openSidenav(){
opened = !opened;
}
const [sidebarOpened, setOpened ] = useState(opened);
return (
<Sidebar sidebarOpened={opened} />
)
和子组件(类):
componentDidUpdate(prevProps) {
if(this.props.sidebarOpened !== prevProps){
this.setState({ sidebar: true});
}
}
它只是不工作,子组件没有收到更改,我想我没有正确传递道具。我知道代码只是需要更正,但我不知道我在哪里没有得到它。
谢谢。
【问题讨论】:
标签: reactjs react-props react-functional-component react-class-based-component