我想尝试使用从不同文件导入的整个类来保存变量。变量是从setState方法保存在实际类的构造函数中的。问题是,它根本不会渲染任何东西。这是一段代码:
import Timer from './App';
class Nuevo extends React.Component{
constructor(props){
super(props);
this.state = {
game: 1,
timer: <Timer />
}
}
setup = () => {
return(
this.state.timer
);
}
render(){
return(
<span>{this.state.timer}</span>
);
}
}
我也尝试过在
this.timer = <new Timer />;
方法之外使用this.state
,但它根本不起作用。(
Timer
的导入/导出确实可以正常工作,因为它是在之前渲染的)。这就是我想要做的。
game
变量在整个游戏的各个部分之间变化。其中1是三个中的第一个。我为此使用条件渲染。问题出在其他任何地方。类
Nuevo
应该从导入中调用Timer
。然后,Timer
被保存在变量中,例如每次我重新渲染整个对象时都不会渲染新类(因为我将它按部分划分,所以每当更改该部分时,Timer
都会在我重新渲染时只想像以前一样查看Timer
)。感谢您的帮助!
如果样本中的某些内容无法理解,请提出要求,以免混淆。
另外,我已经考虑过更改整个代码,以合并两个类,但是我真的想了解我所问的内容是否完全可行,以及如果可行的话,该怎么做。
最佳答案
您永远不要这样做。您应该始终返回组件,并最终在类的render方法中将其渲染出来。
您可以管理组件的条件渲染:
https://reactjs.org/docs/conditional-rendering.html。
您可以使用可用的生命周期方法来管理状态,这些方法可以侦听应用程序中的更新:
https://reactjs.org/docs/react-component.html
https://reactjs.org/docs/state-and-lifecycle.html
如果您无法使用上述文档来达到目的,那么我想知道:您要更具体地做什么?为什么?
关于javascript - 如何在React中使用setState将类保存在变量中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52953637/