react + ts 使用useState定义数组[],{}的数据提示类型“never”上不存在属性“url”。

使用useState定义数组

未定义前

定义后

    interface  FileItem{
      url: string;
    }
    //定义类型,要么有要么为空数组
    const [fileList1, setFileList] = useState<FileItem[] | []>([]);   


     const obj1 = {
          cover:{
            type,
            images: fileList1.map(item  =>item.url)
          },
          channel_id,
          content,
          title
        }

使用useState定义对象

定义前

const [dangqianlist,isdangqianlist] = useState({})
      console.log(dangqianlist,'dangqianlist')
      if (dangqianlist.id) {

        
        const {channel_id ,content , title, type} = value
        const obj1 = {
          cover:{
            type,
            images: fileList1.map(item  =>item.url)
          },
          channel_id,
          content,
          title
        }
        const obj = { ...dangqianlist,...obj1 };
        console.log(obj,'obj')
        const res = await EmitsteList(obj);
        message.success('修改成功');
        P.isModel(false)
      }

定义后(这个对象的字段名和内容都是未知的,就可以用这种写法)

  interface Dangqianlist{
    [key:string]:string | number
  }
  const [dangqianlist,isdangqianlist] = useState<Dangqianlist>({})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值