2017-12-20 22 views
0

SETSTATE(機能(prevState、小道具、custom_rgument)に引数を渡す方法はありますか?setStateコールバック関数にカスタム引数を渡すことはできますか?

removeTodo(evt) { 
    this.setState((prevState, props, evt) => ({ 
     todoList: [...prevState.todoList.slice(0, evt), ...prevState.todoList.slice(evt + 1)] 
    })) 
} 

それともこれを実現する唯一の方法されている状態で動作するように?

removeTodo() { 
    this.setState(prevState => ({ 
     todoList: [...prevState.todoList.slice(0, this.state.index), ...prevState.todoList.slice(this.state.index + 1)] 
    })) 
} 

答えて

1

ありshouldn 「TはsetState関数にevtパラメータを渡す必要があること。それは、とにかくスコープで利用可能です。

removeTodo(evt) { 
    this.setState(prevState => ({ 
    todoList: [ 
     ...prevState.todoList.slice(0, evt), 
     ...prevState.todoList.slice(evt + 1) 
    ] 
    })); 
} 
+0

それは非常に簡単:)ました、感謝しますs。 –

+0

別の質問:これは、変更不可能な配列から項目を削除する正しい方法ですか?最初の要素と最後の要素は正しく削除されますが、配列の途中で要素を削除しようとすると、後の要素もすべて削除されます。 –

関連する問題