4 回答

TA貢獻(xiàn)1891條經(jīng)驗(yàn) 獲得超3個(gè)贊
main.js 中的 state.myPigeons 在啟動(dòng)應(yīng)用程序時(shí)未定義。如果您嘗試對(duì) redux 對(duì)象執(zhí)行某些操作,則應(yīng)在其中定義該值。最好的方法是始終在代碼中進(jìn)行防御性檢查,以檢查對(duì)象是否“未定義”。

TA貢獻(xiàn)1784條經(jīng)驗(yàn) 獲得超7個(gè)贊
這段代碼看起來不對(duì)
var generatedPigeon = Math.floor(Math.random() * ALLPIGEONS.length);
generatedPigeon.nickname = "Kuba";
嘗試更多類似
var generatedPigeonNo = Math.floor(Math.random() * ALLPIGEONS.length);
var generatedPigeon= ALLPIGEONS[generatedPigeonNo];
generatedPigeon.nickname = "Kuba";

TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
如果有人仍然試圖找出給定代碼中的問題,我想我明白了;
const initialPigeonState = () => { myPigeons = [] };
這就是整個(gè)問題。這里initialPigeonState
定義為一個(gè)不返回任何東西的函數(shù)。從而導(dǎo)致錯(cuò)誤。
現(xiàn)在為了消除錯(cuò)誤,我們可以定義initialPigeonState
為;
initialPigeonState = { myPigeons: [] }
或者,如果您想將其保留為函數(shù),則從中返回一個(gè)對(duì)象;
const initialPigeonState = () => ({ myPigeons: [] });
箭頭符號(hào)后面的括號(hào)表示return
返回其內(nèi)部內(nèi)容(此處為對(duì)象)。
添加回答
舉報(bào)