映射函数内部的映射,同时从父组件的状态a获取数据



当它转到getDropDownOptions时,我得到了这个错误-超过了最大更新深度。当组件在componentWillUpdate或componentDidUpdate内重复调用setState时,可能会发生这种情况。React限制了嵌套更新的数量,以防止无限循环我没有使用任何componentWillUpdate或componentDidUpdate,也没有在任何与此功能相关的地方设置状态。rowInfo是数组中的项,即Im映射。allProducts是我从父组件获得的数据。

return (
<SelectBox
options={getDropdownOptions}
value={{ label: '', value: '' }}
onChange={e =>
onItemChange({
itemKey: headerItem.itemKey,
arrayIndex: index,
value: { label: e.value, value: e.value }
})
}
customClass="lineItemDropdown"
/> ```

const getDropdownOptions = () => {
const dropDownOptions = allProducts.find(
product => product.productId === rowInfo.productId
).packages;
return dropDownOptions;
};

在您的示例中,您将传递对options函数的引用,而不是该函数返回的值。

现在,如果你使用console.log(props.options),你会看到一个函数。。。。但是你需要一个数组。

所以试试这个:

<SelectBox
options={getDropdownOptions()}
...       
/>

或者,不使用函数,只需设置一个变量:

const dropDownOptions = allProducts.find(
product => product.productId === rowInfo.productId
).packages;
return dropDownOptions;
return (
<SelectBox
options={dropDownOptions}
...       
/>
)

相关内容

  • 没有找到相关文章

最新更新