Javascript 纯组件和样式/参考标记
假设在React中,我将一个组件渲染为:Javascript 纯组件和样式/参考标记,javascript,reactjs,Javascript,Reactjs,假设在React中,我将一个组件渲染为: render() { return (<AComponent ref={(ref) => { this.ref = ref}} style={{height: 110}} />); } 因为style prop被赋予一个object literal,ref被赋予一个匿名函数,所以它们是否总是不简单地相等?或者React是否有一些道具不考虑样式和参考标签的地方?如果是这样,是否还有其他例外情况?ref和key是特殊的,实际上不是作
render() {
return (<AComponent ref={(ref) => { this.ref = ref}} style={{height: 110}} />);
}
因为style prop被赋予一个object literal,ref被赋予一个匿名函数,所以它们是否总是不简单地相等?或者React是否有一些道具不考虑样式和参考标签的地方?如果是这样,是否还有其他例外情况?
ref
和key
是特殊的,实际上不是作为道具传递的
style
只是一个常规道具<代码>this.props!==下一步总是正确的;至少你需要简单地比较一下,但是你是对的,如果使用style={{{height:110}
,this.props.style===nextProps.style
总是错误的。您可以通过将样式提取到外部变量中,并使用它而不是内联对象来解决这个问题。ref
和键
是特殊的,实际上并不是作为道具传递的
style
只是一个常规道具<代码>this.props!==下一步总是正确的;至少你需要简单地比较一下,但是你是对的,如果使用style={{{height:110}
,this.props.style===nextProps.style
总是错误的。您可以通过将样式拉入外部变量并使用该变量而不是内联对象来解决这个问题
componentWillReceieveProps(nextProps) {
if (this.props !== nextProps) {
this.setState({ ..this.getState(nextProps) });
}
}