将对象作为参数传递给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