无法从const数组映射中渲染
我需要创建一个const组件来呈现选项及其选项,但是由于代码返回的选项没有任何选项,因此无法呈现选项字段。问题在哪里?无法从const数组映射中渲染
谢谢你的建议。
import React from "react"; const FilterSelect = (props) => {
const {title, name, selectedValue, optionsValue, onChange} = {...props};
const renderOptions = (optionsValue) => {
optionsValue.map((optionValue, i) =>
<option value={optionValue.value} key={i}>{optionValue.name}</option>
);
};
return (
<div className="filters-content-block">
<h3 className="filters-subtitle">{title}</h3>
<select className="sl sl-fullwidth" onChange={onChange} required>
{renderOptions}
</select>
</div>
);
};
export default FilterSelect;
回答:
你的renderOptions
是一个函数。您必须将其称为传递optionsValue
作为参数;或者更改代码,以便renderOptions
不再是功能,但一个数组,像这样:
const renderOptions = optionsValue.map((optionValue, i) => <option value={optionValue.value} key={i}>{optionValue.name}</option>
);
回答:
您定义renderOptions
作为一种方法,但忘了发送optionsValue
它。
<select className="sl sl-fullwidth" onChange={onChange} required> {renderOptions(optionsValue)}
</select>
回答:
renderOptions是一个函数。所以,你必须调用它像这样:
<select className="sl sl-fullwidth" onChange={onChange} required> {renderOptions()}
</select>
你可以摆脱optionsValue PARAM的,因为你的道具拥有它。你必须从函数返回。试着考虑一下:
const renderOptions =() => { return optionsValue.map((optionValue, i) =>
<option value={optionValue.value} key={i}>{optionValue.name}</option>
);
};
以上是 无法从const数组映射中渲染 的全部内容, 来源链接: utcz.com/qa/263920.html