无法在React-js中设置状态

时间:2018-04-07 07:42:46

标签: javascript reactjs

我无法通过react-js中的道具传递分配给const的数据。当我在console.log中检查相同时,我看到一个空对象。

以下是该功能的代码。

updateList() {
    // temporary dictionary
    const keywords = {}
    const taxonomies = {}
    const { master, selectedRank, selectedCategory } = this.state
    console.log(`master[${selectedRank}][${selectedCategory}]`)

    if (master && master[selectedRank] && master[selectedRank][selectedCategory]) {
        console.log(`master[${selectedRank}][${selectedCategory}]`, master[selectedRank][selectedCategory])
        const filterData = master[selectedRank][selectedCategory]
        master[selectedRank][selectedCategory].forEach(d => {
            keywords[d.keywordId] = d.keywordName;
            taxonomies[d.taxId] = d.taxonomyName;
        })

        const keywordsOptions = Object.keys(keywords).map(key => { return { id: key, name: keywords[key] }; });
        const taxonomyOptions = Object.keys(taxonomies).map(key => { return { id: key, name: taxonomies[key] }; });

        this.setState({
            filterData
        })
        console.log("Filtered Data", this.state.filterData)
        this.setState({
            keywordsOptions,
            selectedKeywordsOptions: keywordsOptions.slice(),
            taxonomyOptions,
            selectedTaxonomyOptions: taxonomyOptions.slice(),
            filterKeyword: [],
            filterTaxonomy: [],
        }, () => {
            this.updateChart();
        });
    }
}

我想通过props将分配给const filterData的数据传递给另一个js文件中的组件。虽然我在函数中设置状态,但我总是在控制台中得到一个空对象。当我将const推送到控制台时,我看到关联的数据显示在控制台中。

我尝试了其他各种方法,但似乎没有一个在这里工作。

提前致谢。

此致

0 个答案:

没有答案