將對象作爲參數傳遞給redux「presentation component」中的函數的最佳方法是什麼?我有<BookList />
容器組件。在BookList中,我爲每本書呈現<BookListRow/>
演示文稿組件。帶有參數的onClick函數在redux「presentation」組件中
我想在每個BookListRow中刪除一個按鈕。所以我這樣做:
const BookListRow = ({book, deleteBook}) => {
return (
<tr>
<td>
<button className="btn btn-sm btn-danger"
onClick={() => {deleteBook(book}}
>
<i className="glyphicon glyphicon-remove"></i>
</button>
</td>
<td><a href={book.watchHref} target="_blank">Watch</a></td>
<td><Link to={'/book/' + book.id}>{book.title}</Link></td>
<td>{book.authorId}</td>
<td>{book.category}</td>
<td>{book.length}</td>
</tr>
);
};
This Works!但是我讀到最好避免JSX中的箭頭函數,因爲性能不佳。那麼更好的方法是什麼?
傳遞的onClick功能下降,而不是在'mapDispatchToprops'或'mergeProps'結合,如果你需要的'stateProps'。 –
@MartinMazzaDawson:我不明白這將如何改變deleteBook()傳遞給BookListRow的方式...你能提供一個如何做到這一點的例子嗎? – olefrank
由於'deleteBook'已定義,爲什麼不直接使用 '的onClick =「deleteBook({}書)」' 只是一個想法 – bluehipy