version: Nuxt 2
[Vue warn]: The client-side rendered virtual DOM tree is not matching server-rendered content. This is likely caused by incorrect HTML markup, for example nesting block-level elements inside <p>, or missing <tbody>. Bailing hydration and performing full client-side render.
用Nuxt做了兩個(gè)項(xiàng)目了,遇到過兩次這個(gè)問題,
第一次是因?yàn)関uex中初始化了數(shù)據(jù)結(jié)構(gòu),在用戶端接口獲得數(shù)據(jù)后更改了,然后用了這個(gè)數(shù)據(jù)渲染的Dom就報(bào)的這個(gè)。 http://www.itdecent.cn/p/0063d7303b7d
第二次是在asyncData 里獲取了一個(gè)數(shù)組賦值到data里的list上,然后computed 里對(duì)list做了list.splice(),使用這個(gè)computed 渲染的dom在服務(wù)端渲染的時(shí)候會(huì)報(bào)這個(gè)錯(cuò)。
總結(jié)起來看起來像是用于渲染dom的數(shù)據(jù)在服務(wù)端和客戶端不一致,我也沒看過源碼,不知道具體是為什么,目前就是用其他寫法先規(guī)避了,遇到同樣問題的同學(xué)可以借鑒一下,也希望知道具體問題的大佬指點(diǎn)一下~