1
看着react-redux docs,我很困惑對象傳播符號如何將對象變成道具。在下面的例子:對象傳播符號如何轉換反應道具?
const TodoList = ({ todos, onTodoClick }) => (
<ul>
{todos.map(todo =>
<Todo
key={todo.id}
{...todo}
onClick={() => onTodoClick(todo.id)}
/>
)}
</ul>
)
怎樣的{...todo}
得到轉化工作內 -
const Todo = ({ onClick, completed, text }) => (
<li
onClick={onClick}
style={{
textDecoration: completed ? 'line-through' : 'none'
}}
>
{text}
</li>
)
我知道{...todo}
返回具有鍵完成,文本和id的對象。但是,如何提取出適合const Todo
函數?傳入此函數的參數是否總是與TodoList傳入的道具完全對應?
就JavaScript而言,它不是一個真正的對象擴展運算符,它是一個React概念,看起來非常相似。它必須像'{{... todo}}'被解釋爲ES6對象擴展運算符。 – dannyjolie