私の反応のアプリケーションでは、私は文字列項目のセットを含む状態を持っています。私はそれがbook
がundefined
あると文句を言いselectedBook
関数内でそれその後(book)=>{this.props.selectedBook(book)}
に機能を変更したときにtypescript arrow関数にパラメータを渡す
renderList(){
return this.props.books.map((book)=>{
return(
<li key={book.title} onClick={()=>{this.props.selectedBook(book)}}>
{book.title}
</li>);
});
}
しかし: は、私は正常に以下のコードを使用してHTMLにこのアイテムをレンダリングすることができます。
だから私はそれらの両方が、私はすでにある本を得た最初のバージョンでは同じですが、私にとっては
()=>{this.props.selectedBook(book)} //book is shown with no problem
と
(book)=>{this.props.selectedBook(book)} //book is undefined
の違いは何であるかさまよっています私のコンポーネントで利用可能ですが、2番目のものではパラメータとして渡します。だからなぜ私は2番目のもので未定義の本を手に入れますか?
更新:それは本を受信すると、それはそれのために行動しますので
selectedBookは、アクションの作成者です。
export default function(book){
console.log(book);
return({
type:'Selected_Book',
payload:book
});
}
あなたは 'onClick'メソッドの関数について話していますか?また、これはタイスクリプトと何が関係していますか? –