Javascript 反应选择未捕获类型错误:无法读取未定义的属性“值”

Javascript 反应选择未捕获类型错误:无法读取未定义的属性“值”,javascript,reactjs,react-select,Javascript,Reactjs,React Select,我正在使用React Select显示项目列表。通过调用web服务获取此列表 当我点击React时,选择下拉列表。它抛出错误 未捕获的TypeError:无法读取未定义的Select.js第74行的属性“value” 如果我点击几次。。。然后我可以看到它调用了我的web服务方法,代码开始正常工作 因此,在最初的几秒钟内,如果有人点击react select,它似乎会抛出一个错误。但过了一段时间,它开始调用我的web服务方法,并从中获得结果并正确地显示它 我的代码很简单 <Selec

我正在使用React Select显示项目列表。通过调用web服务获取此列表

当我点击React时,选择下拉列表。它抛出错误

未捕获的TypeError:无法读取未定义的Select.js第74行的属性“value”

如果我点击几次。。。然后我可以看到它调用了我的web服务方法,代码开始正常工作

因此,在最初的几秒钟内,如果有人点击react select,它似乎会抛出一个错误。但过了一段时间,它开始调用我的web服务方法,并从中获得结果并正确地显示它

我的代码很简单

    <Select multi simpleValue
        name="foo"
        value={selectedItem}
        clearable={false}
        options={allItems}
        onChange={updateItem}
        optionRenderer={renderItem}
        valueRenderer={renderLabel}
    />
当页面加载时,我可以看到它打印“准备发出Web服务请求” 但当我点击react select时,它会抛出错误

单击下拉菜单5/6次后,最终我看到消息Get response,然后错误消息消失,下拉菜单正常工作

因此,似乎在web服务返回值之前,如果有人单击下拉框,下拉框将抛出一个错误

如何停止错误?

选项应作为对象数组提供,每个对象都具有值和标签属性。 例如:


如果您不需要searchable,可以将Select component设置为 可搜索={false}

如果您阅读了react-select.es.js的源代码


在它到达未定义的this.input错误之前,有几个地方可以返回。因此,我尝试将searchable设置为false,从而避免了此错误的发生。

谢谢,文档中没有明确说明这一点
export function updateItem({field, params}) {
    console.log('going to make webservice request');
    return dispatch => {
        callWebService(params).then(response => {
            console.log('got response');
            const key = Object.keys(response[0])[0];
            const options = response.map(item => ({
                label: item[key], value: item[key]
            }));
            dispatch(populateChannels(options));
        });
    };
}
const options = [
  { value: 'one', label: 'One' },
  { value: 'two', label: 'Two' }
];