我碰到這在教程跑了?如果我寫我自己,第一行是這樣的:左右括號 - 爲什麼?</p> <pre><code>const Todos = ({todos}) => ( <div> <h1>Todos</h1> {todos.map(todo => <p key={todo}>{todo}</p>)} </div> ) </code></pre> <p>爲什麼參數周圍有括號:
const Todos = (todos) => (...
這是我根本找不到記錄了一些古怪的新ES6語法?
我碰到這在教程跑了?如果我寫我自己,第一行是這樣的:左右括號 - 爲什麼?</p> <pre><code>const Todos = ({todos}) => ( <div> <h1>Todos</h1> {todos.map(todo => <p key={todo}>{todo}</p>)} </div> ) </code></pre> <p>爲什麼參數周圍有括號:
const Todos = (todos) => (...
這是我根本找不到記錄了一些古怪的新ES6語法?
這是爲參數對象解構的語法,其被引入作爲ECMAScript的2015年Todos
函數不定義名爲todos
單個參數的一部分,而是訪問該公司在傳遞的對象的屬性todos
(並立即解構)。
這大致相當於以下版本:
const Todos = (_param) => {
let todos = _param.todos;
return (
<div>
<h1>Todos</h1>
{todos.map(todo => <p key={todo}>{todo}</p>)}
</div>
);
};
退房Destructuring and parameter handling關於解構的更多信息。
非常感謝您的出色答案和鏈接!我一定會閱讀更多2ality :) –
你應該。 ;)如果這個答案有助於解決你的問題,請接受它作爲你的問題的正確答案! –
[Es2015中的捲曲制動裝置]的可能副本(http://stackoverflow.com/q/35190064/1048572) – Bergi