首页 > 解决方案 > React - Redux - 只显示一些数据

问题描述

我确定这是一个简单的问题,但实际上我不知道为什么它不起作用。我仍然是初学者react-redux,所以请耐心等待。;-)

我正在加载不同的数据react-redux。现在我想select用加载的值填充一个框。

我可以看到数据已正确加载(props.anreden& props.benutzer)。因此,我可以确定数据已正确加载,并且在其他地方出现错误。

在此处输入图像描述

不同之处在于它anreden是一个对象数组,benutzer而是一个对象。

当我想填充方法中的select框时render(),它只填充数据benutzer而不是anreden

在此处输入图像描述

这是这部分的代码:

<div className="select">
    <select
        value={0}                
        className={`form-control tabable`}
    >
        <option value={0}>auswählen</option>
        <option value={this.props.benutzer.id}>{this.props.benutzer.vorname}</option>
        {this.props.anreden && this.props.anreden.length > 0 &&
        this.props.anreden.map((option) => {
            return (<option value={option.id}>{option.bezeichnung}</option>)
        })}
    </select>
</div>

有人对我有提示吗,为什么会这样?

标签: reactjsreact-redux

解决方案


它看起来像是this.props.anreden一个对象,而不是您期望的数组。this.props.anreden.length > 0总是如此false

映射值。你还需要钥匙。

{this.props.anreden && 
    Object.values(this.props.anreden).map((option) => {
        return (<option value={option.id} key={option.id}>{option.bezeichnung}</option>)
    })}

推荐阅读