我想尝试使用从不同文件导入的整个类来保存变量。变量是从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/

10-12 12:44
查看更多