這是奇特的。將數組傳遞給.map()錯誤
我傳遞由單個對象的陣列以一個陣營組件的渲染方法:
let content = this.state.links.map(link => { // eslint-disable-line
return (
<li key={link._id}>
<a href={link.link}>{link.title}</a>
</li>
);
});
return (
<h3>
<ul>
{content}
</ul>
</h3>
);
這是this.state.links
輸出:
[{"_id":"56f9b418657c2d2353611b0f","link":"https://facebook.github.io/flux/","title":"flux"}]
這是一個與一個陣列目的。爲什麼我得到這個錯誤?:
UPDATE:我發現有點問題代碼:
沒關係進入這裏:
const _getAppState =() => { // eslint-disable-line return { links: LinkStore.getAll(), }; };
LinkStore .getAll()仍然返回一個包含對象的數組。
然後,下一次我們調用上面的函數: onChange() { console.log('4. In the View', _getAppState()); // this.setState(_getAppState()); }
還沒完全確定何時以及如何轉化爲一個字符串。如果你想深入瞭解代碼並親自體驗,請登錄here is the repo。
什麼是'的console.log(typeof運算this.state.links)'的輸出? – Pointy
它作爲一個字符串出現! o.O – ilrein
編譯後的代碼是什麼樣的? –