[Vue warn]: Avoid using non-primitive value as key, use string/number value instead.

场景:

[Vue warn]: Avoid using non-primitive value as key, use string/number value instead._第1张图片

一使用就报错

[Vue warn]: Avoid using non-primitive value as key, use string/number value instead._第2张图片

报错意思是:避免使用非基本值作为键,而是使用字符串/数字值。

然后查看代码发现是我将todo.id作为key值,由于key必须是唯一值,为了保证后续新增的todo.id是唯一的,所以想把id设为时间戳,结果Date.now()忘了加括号,所以导致id变成了Object

 所以不要用对象或是数组作为key


但此时突然想到key必须是唯一值,那他的值能不能是Symbol类型的呢?

Symbol数据类型解释

于是就把id变成Symbol类型

 然后发现并不会报错而且正常使用

最后得出结论:key必须是唯一值,并且不要用对象或是数组作为keykey的值可以是number,字符串也可以是Symbol类型

你可能感兴趣的:(Vue,javascript,vue.js)