这类似于#40796374,但这是围绕类型,而我使用接口。

给定下面的代码:

接口Foo { 名称:字符串; } 函数go() { 让实例:Foo | null = null; Let mutator = () => { 实例= { 名称:“字符串” }; }; mutator (); If (instance == null) { console.log('实例为空或未定义'); }其他{ console.log (instance.name); } }

我有一个错误说'属性'名称'不存在类型'从不'。

我不明白实例怎么会是一个“永远”。有人能解释一下吗?


当前回答

当我忘记为变量定义类型时,就发生了这种情况。

其他回答

在我自己的例子中,当我初始化数组时。我使用:

selectedActors: any = [];

所以一开始它是“动态的”

如果你把Component写成React。FC,使用useState(),

这样写会很有帮助:

const [arr, setArr] = useState<any[]>([])

对于typescript开发者… 如果你使用React.useRef()钩子 声明并使用变量类型any,而不是预先分配null。

例子:

const initialRef: any = null;
const ref = React.useRef(initialRef);

在useState中,如果你从未声明过类型:

它假设它的类型是never,所以它显示这个错误:"属性不存在类型'never'"

你可以这样输入:

const [datalist, setDataList] = useState<Array<Object>>([]);

你可以这样输入:

const[数据,setData] = useState<Array>([];