map 不是 this.state.items 上的函数



我的 ajax 在我的组件中WillMount 然后在我的渲染函数中我这样做

this.state.items.map(obj => obj.id)

但是我得到了地图错误不是一个函数。我怀疑这是由项目状态尚不存在的第一次渲染问题引起的。

所以我这样检查

    const items = this.state.items && this.state.items.map(
                item =>
                    <li key={item}>
                        <Link as={`/items/${itemId}`} href={`/items?itemId=${item}`}>
                            <a>{items}</a>
                        </Link>
                    </li>
            )

为什么仍然有错误?

我确实有这样的构造器

constructor(props) {
        super(props)
        this.state = {
            items: []
        }
    }

你应该在构造函数中设置你的变量:

constructor(props) {
        super(props);
        this.state = {
            items: []
        };
    }

最新更新