Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何使用react和typescript修复可能未定义的错误对象?_Reactjs_Typescript - Fatal编程技术网

Reactjs 如何使用react和typescript修复可能未定义的错误对象?

Reactjs 如何使用react和typescript修复可能未定义的错误对象?,reactjs,typescript,Reactjs,Typescript,我想使用react和typescript修复错误“对象可能未定义” 下面是我的代码 const App = () => { const {data, loading } = useQuery<SomeQuery>; const types = React.useMemo(() => { const types = data.main?.types ?? []; //i get error here },[data]); r

我想使用react和typescript修复错误“对象可能未定义”

下面是我的代码

const App = () => {
    const {data, loading } = useQuery<SomeQuery>;
    const types = React.useMemo(() => {
        const types = data.main?.types ?? []; //i get error here
    },[data]);

    return (
        {types && types !== null && !isEmpty(types) 
            ? type.map(type => 
                <div>{type.name}</div>
            ) : undefined
        }
    );
}
const-App=()=>{
const{data,loading}=useQuery;
const types=React.useMoom(()=>{
const types=data.main?.types???[];//我在这里得到错误
},[数据];
返回(
{types&&types!==null&&!isEmpty(类型)
?type.map(type=>
{type.name}
):未定义
}
);
}
从上面的代码中可以看出,我在data.main附近的UseMoom中得到错误


我不知道如何解决这个问题。有人能帮我吗。谢谢。

您需要告诉TypeScript数据变量可能也未定义:

const types = data?.main?.types ?? [];

谢谢,我已经添加了更改,现在当我在返回中映射类型时,它说object可能为null