当方、reduxを勉強中です。
勉強中に不思議に思ったことがあり、質問させていただきます。
それはcontainerのなかにでてくる、dispatchとstateについてです。
これは、あるcontainerの中にあるファイルです。
import { connect } from 'react-redux' import TodoList from '../components/todolist' const mapStateToProps = (state) => { return {todos: state.todos} } const VisibleTodoList = connect( mapStateToProps )(TodoList) export default VisibleTodoList
mapStateToPropsにアロー関数によってstateという引数が指定されていますが、実際にmapStateToPropsを使う際には引数が渡されていません。
同じく、こちらもcontainerフォルダにある別のファイルです。
import React from 'react' import { connect } from 'react-redux' import { add } from '../actions' let AddTodo = ({dispatch}) => { let input return ( <div> <input ref={(node) => { input = node }} /> <button onClick={() => { dispatch(add(input.value)) input.value = '' }}> Add Todo </button> </div> ) } AddTodo = connect()(AddTodo) export default AddTodo
dispatchという引数がAddTodoに指定されていますが、このAddTodoというメソッドが使われる際に、やはり引数が渡されていません。
・質問
1.なぜ、引数を指定していて、実際にメソッドを使う際には渡していないにも関わらず、
メソッドが動くのかがわかりません。reduxの特別な仕様という理解でよろしいでしょうか。
2.また、この挙動はcontainerのみに今の所見受けられるのですが、それには何か意味があるでしょうか。
何卒よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/05/21 16:32 編集
2019/05/21 16:43 編集
2019/05/21 16:53
2019/05/22 14:33