了解this.setState()
将触发重新渲染组件,如果我有一个视图并且我不需要触发重新渲染,例如一个View,那么设置一个是否可以接受这个变量?这样做是否有任何缺点,因为我只需要在View代码范围内引用该变量值?
例如:
this.adHeight = 100
对战:
this.setState({ adHeight: 100 })
答案 0 :(得分:1)
您没有提供足够的信息来给您一个确切的答案,所以我会开始猜测。如果addHeight
变量不影响您的组件UI,为什么在组件中需要它?该变量是常数还是可以改变?
你可以这样做:
const addHeight = 100;
// or
const addHeight = someConstantFile.addHeight;
// or
const addHeight = someFile.someFunction();
export default MyComponent extends React.Component {
// use the addHeight somewhere
}
如果该变量不是常量,您也可以将其作为道具传递(但是您说它不会影响您的render
函数,因此我想知道该变量的用途是什么)。也许你可以在这里粘贴整个组件。
但无论如何,我会说是的,你可以做你想要的。我建议你使用_
思考,例如:this._listener
。然后,您可以从this._listener
和componentDidMount
(典型示例)访问componentWillUnmount
。 但如果您发现自己从render
函数访问该变量,则意味着此变量实际上应该是您的组件状态的支柱或部分。