redux "プレゼンテーションコンポーネント"の関数に引数としてオブジェクトを渡す最も良い方法は何ですか?onClick関数のパラメータをreduxの "presentation"コンポーネント
私は<BookList />
コンテナコンポーネントを持っています。 BookListの中で、各書籍のプレゼンテーションコンポーネント<BookListRow/>
をレンダリングします。
各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>
);
};
これは動作します!しかし、パフォーマンスが悪いためにJSXの矢印機能を使用しないことをお勧めします。では、より良い方法は何ですか?
がmapDispatchToprops'または' 'mergeProps'でそれを結合することによってダウン代わりのonClick関数を渡すよう
は、いくつかのメモ化ライブラリがあります。 –
@MartinMazzaDawson:これにより、deleteBook()がBookListRowにどのように渡されるかが変わってきていないのですが、これを行う方法の例を教えてください。 'deleteBook'が既に定義されている、なぜ直接 を使用しない'のonClick = "deleteBook({本})" ' – olefrank
ので – bluehipy