我有一个基本组件,我想要一个由子类更新的实例级变量。我可以完成这项工作的唯一方法是将其添加到我不想执行的状态,因为该变量的值与UI无关,所以我不想触发重新渲染
因此,请考虑以下内容:
class BaseComponent extends React.Component {
constructor(props) {
super(props);
this.params = [];
}
addParam(name) {
this.params.push(name);
}
getUrl() {//this.params is always undefined
return format("{0}?", this.constructor.name, this.params.join("&");
}
}
因此,this.params始终是未定义的,这是有意义的,因为它不是状态的一部分。此变量与url相关,而不与UI相关,因此,在更新值时,我不想通过更新状态来触发重新呈现。
不确定这里最好的方法是什么?
我知道的选项:
1)添加到将触发重新渲染的状态
2)调用forceUpdate()也会触发重新渲染
我不喜欢这两个选项,所以我希望有人知道做我想做的正确方法。