vue3项目数据渲染

在写v3ts项目,调接口拿到后端数据后,返回的res.result 是 [ { } , { } ] 这种数据,为什么不能直接用来渲染页面 啊? 需要再新建一个空数组 list = reactive([ ]),把调的数据放进去,用新建的数组才可以渲染页面数据。而且直接写list=res.result 是不行的。只能用循环将拿到的数据放到list里面才可以渲染数据到页面上。想知道这是为什么啊??


 import { defineComponent,onMounted,ref,reactive,toRefs} from 'vue';
 //引入收货地址列表接口
 import { dressList } from '@/api';

export default defineComponent({
  name: '',
  components: {},
  setup() {
    const radio = ref('')

    let list:any=reactive([]);

    onMounted(()=>{
       dressList().then((res:any)=>{
        console.log(res.result);
          //  list=res.result  这样写就不能渲染数据,下面的方法才可以渲染list里面的数据到页面上
          res.result.forEach((item:any)=>{
          list.push(item)
        })
        console.log('list',list);
       })
       
    })
    
    return {
      radio,list
    }
    }
});

这个问题解决了吗 我也有同样的疑惑

你得是响应式数据才行啊 。直接赋值不是响应式数据

https://blog.csdn.net/weixin_47886687/article/details/112918795