在React JS jsx中使用map时,为什么会出现未捕获的类型错误?

时间:2016-06-29 09:50:16

标签: javascript dictionary reactjs jsx

我正在创建一个组件,用于根据课程对象中的可用选项选择输入。

我目前收到此错误: Uncaught TypeError: Cannot read property 'map' of undefined

这是我的代码:

const SelectInput = ({name, label, onChange, defaultOption, value, error, options}) => {
    return (
        <div className="form-group">
            <label htmlFor={name}>{label}</label>
            <div className="field">
                {/* Note, value is set here rather than on the option - docs*/}
                <select name={name} value={value} onChange={onChange} className="form-control">
                <option value="">{defaultOption}</option>
                {options.map((option) => {
                    return <option key={option.value} value={option.value}>{option.text}</option>;  
                })}
                </select>
                {error && <div className="alert alert-danger">{error}</div>}
            </div>
        </div>
    );
};

任何人都知道原因吗?

1 个答案:

答案 0 :(得分:1)

您希望options是一个数组,但是您提供了未定义的options道具,因此未定义的map方法

提供未定义的选项或尝试此操作:

const SelectInput = ({name, label, onChange, defaultOption, value, error, options = []}) => {
  ...
}