Reactjs 无法从常量上的数组映射进行渲染

Reactjs 无法从常量上的数组映射进行渲染,reactjs,ecmascript-6,Reactjs,Ecmascript 6,我需要创建一个const组件来呈现带有选项的select,但是我无法呈现选项字段,因为代码返回的select没有任何选项。问题出在哪里 谢谢你的建议 从React导入React; 常量过滤器选择=道具=>{ const{title,name,selectedValue,optionsValue,onChange}={…props}; 常量渲染=选项值=>{ optionsValue.mapoptionValue,i=> {optionValue.name} ; }; 回来 {title} {渲染

我需要创建一个const组件来呈现带有选项的select,但是我无法呈现选项字段,因为代码返回的select没有任何选项。问题出在哪里

谢谢你的建议

从React导入React; 常量过滤器选择=道具=>{ const{title,name,selectedValue,optionsValue,onChange}={…props}; 常量渲染=选项值=>{ optionsValue.mapoptionValue,i=> {optionValue.name} ; }; 回来 {title} {渲染} ; }; 导出默认过滤器选择; 您将renderopions定义为一个方法,但忘记向其发送optionsValue

您将renderopions定义为一个方法,但忘记向其发送optionsValue


渲染是一个函数。所以你必须这样称呼它:

<select className="sl sl-fullwidth" onChange={onChange} required>
  {renderOptions()}
</select>
您可以去掉optionsValue参数,因为它来自于道具。您必须从函数返回。试着考虑一下:

const renderOptions = () => {
        return optionsValue.map((optionValue, i) =>
            <option value={optionValue.value} key={i}>{optionValue.name}</option>
        );
    };

渲染是一个函数。所以你必须这样称呼它:

<select className="sl sl-fullwidth" onChange={onChange} required>
  {renderOptions()}
</select>
您可以去掉optionsValue参数,因为它来自于道具。您必须从函数返回。试着考虑一下:

const renderOptions = () => {
        return optionsValue.map((optionValue, i) =>
            <option value={optionValue.value} key={i}>{optionValue.name}</option>
        );
    };
渲染是一个函数。您可以将其称为passingoptionsvalue作为参数;或者更改代码,使渲染不再是一个函数,而是一个数组,如下所示:

const renderOptions = optionsValue.map((optionValue, i) =>
    <option value={optionValue.value} key={i}>{optionValue.name}</option>
    );
渲染是一个函数。您可以将其称为passingoptionsvalue作为参数;或者更改代码,使渲染不再是一个函数,而是一个数组,如下所示:

const renderOptions = optionsValue.map((optionValue, i) =>
    <option value={optionValue.value} key={i}>{optionValue.name}</option>
    );

在我看来,这是最好的解决方案,所以我用它来更改代码。非常感谢。在我看来,这是最好的解决方案,所以我用它来更改代码。非常感谢。