これは初心者の React.js / ES2015 の質問です。
本の名前のリストを表示する HTML があります。
class BookList extends React.Component
{
render()
{
return (
<div>
{this.state.books.map((book) =>
{
return (
<TextField
defaultValue={book.name}
key={book.name}
onEnterKeyDown={this.onBookNameChange}
...
ユーザーが名前を編集して Enter キーを押すと、クラスのメソッドを呼び出して、本が存在するかどうかを確認し、ストアを更新します。
class BookList extends React.Component
{
onBookNameChange(event)
{
const newBookName = event.target.value;
if (this.doesBookExistElseShowMessage(newBookName))
return;
const oldName = this.defaultValue;
const oldBooks = Store.getState().books;
const newBooks = Helper.EditValueInArray(oldBooks, 'name', oldName, newBookName);
Actions.updateBooks(newBooks);
}
問題は次のとおりです。このメソッドで、クラス( this.doesBookExistElseShowMessage ) と呼び出し元オブジェクト( this.defaultValue ) の両方にアクセスするにはどうすればよいですか?
これは呼び出しオブジェクト (現在の TextField) であるか、クラス コンストラクターでこれをクラスにバインドできます。
this.onBookNameChange = this.onBookNameChange.bind(this);
しかし、その後 TextField へのアクセスを失います。メソッドで両方のオブジェクトへの参照を取得する方法がわかりません。