Reactjs 尝试映射antd Select选项时,对象作为React子对象无效
我试图向api请求ID列表,并在antd的Reactjs 尝试映射antd Select选项时,对象作为React子对象无效,reactjs,typescript,antd,Reactjs,Typescript,Antd,我试图向api请求ID列表,并在antd的Select组件中显示它们 <Select style={{ width: "100%" }}> {myApi.getIds().then((result) => result.map((value) => { return <Select.Option value={value}>{value}</Select.Option> }))}
Select
组件中显示它们
<Select style={{ width: "100%" }}>
{myApi.getIds().then((result) => result.map((value) => {
return <Select.Option value={value}>{value}</Select.Option>
}))}
</Select>
它不是在抱怨
值
,而是在抱怨然后
的返回值
<Select style={{ width: "100%" }}>
{myApi.getIds().then((result) => result.map((value) => {
// −^^^^^^^^^^^^^^^^^^^^
return <Select.Option value={value}>{value}</Select.Option>
}))}
</Select>
{myApi.getIds().then((结果)=>result.map((值)=>{
// −^^^^^^^^^^^^^^^^^^^^
返回{value}
}))}
then
的返回值是一个承诺
您不能这样呈现调用getIds
的结果。相反,您需要:
getid
,并让该组件将结果(如果可用)作为道具传递给该组件
或
getid
并在useffect
回调(功能组件带挂钩)或componentDidMount
(class
component)中等待结果,将结果保存在状态,并在渲染时使用该状态。当组件还没有信息时,它必须处理渲染
<Select style={{ width: "100%" }}>
{myApi.getIds().then((result) => result.map((value) => {
// −^^^^^^^^^^^^^^^^^^^^
return <Select.Option value={value}>{value}</Select.Option>
}))}
</Select>