在构造函数之外创建新的状态变量

时间:2019-06-11 13:35:42

标签: reactjs create-react-app

我试图从已经是状态变量的数组中的数据中获得多个状态变量名称。所需变量的数量可以在页面加载与页面加载之间变化,因此我无法真正立即对其进行初始化

我在下面设置了一个函数,我认为它应该按照我的预期去做,但是我不知道将其放置在组件中的位置。

makeButtons() {
    this.state.Buttons.forEach((button) => {
        let key = button.fields.Label

        this.setState({ [key]: '' })
    }); 

}

我尝试在render()中调用它,但这给了我无限循环错误,这是有道理的。有什么想法吗?

编辑:尝试在componentDidMount()中调用,但这似乎也不起作用。不知道会有什么问题。下面的代码

base('ButtonInfo').select({view: 'Grid view' }).eachPage(
            (Buttons, fetchNextPage) => {
                this.setState({
                    Buttons
                });
                fetchNextPage();
            }
        );
        this.state.Buttons.forEach((button) => {
            let key = button.fields.Label

            this.setState({ [key]: '' })
       }); 

编辑:答案在下面的评论中,我需要在api调用之前添加await并使componentDidMount()异步。

1 个答案:

答案 0 :(得分:0)

在componentDidMount()中如何做?首次呈现应用后,此方法仅被调用一次,通常用于用一些数据初始化应用。