我有一個簡單的反應,我送一個布爾值道具組件喜歡<MenuItem active={notificationMenu.shown} />
但道具沒有得到改變組件內部,並且總是正確的,即使我通過它的元素defaultProps覆蓋delevert道具
@Radium
export class MenuItem extends Component {
styles = {
hidden: {
listStyleType: "none"
}
}
static propTypes = {
active: React.PropTypes.bool.isRequired
}
static defaultProps = {
active: true
}
render() {
if(this.props.active) {
return (
<li style={this.props.style}>
{this.props.children}
</li>
)
} else {
return (
<li style={[this.styles.hidden, this.props.style]}> </li>
)
}
}
}
很難看出爲什麼沒有看到它的父(S),你確定你將props.active作爲'false'傳遞,你是否從渲染方法登錄? – Eelke
是的,我已經嘗試登錄渲染,它不會改變,並在一些情況下im傳遞false,但它沒有反映在組件 – VeXii
沒關係,使調試更容易添加一些文本到'li',可能是css變化不明顯。 – Eelke