我对TypeScript有疑问!我们正在整个项目中进行JSX到TypeScript的转换。
{instances.map(instance => {
const { id, name, type } = second;
const pageUrl = makePath(
routes.page.path,
{ firstId: first.id , secondId: id }, <<<<<<
);
在带有“ <<<<<<<”的行上,突出显示“ first.id”的“ first”,并出现以下错误:
Object is possibly 'null'.
我不确定如何将其定义为不会被视为null的地方。我可以通过解构找出第二个,但是不能两次定义“ id”。任何指导将不胜感激!
答案 0 :(得分:0)
如果我在组件的早期定义
似乎可以正常工作 const firstId = (first ? first.id : '');
,并将firstId: first.id
替换为firstId: firstId
。
如果这不是推荐的解决方案,请告诉我!但是,它确实解决了我所看到的错误,并且似乎根本没有影响功能。
答案 1 :(得分:0)
类型检查器无法确定first
是否会成为非null
。
您可以在有问题的对象之后直接添加non-null assertion operator !
,以告诉短绒棉绒它不会为空,请尝试以下操作:
{ firstId: first!.id , secondId: id }, <<<<<<