redux不要論
reduxっていらないんじゃないかと勘ぐっているmiyamonz.icon ちゃんと使ってないから、こういうところでこういうメリットがあるみたいなのがあるなら知りたい
詳しい人教えてくれ!!!
ただし、react hooksのおかげパワーがあるので、それ以前からあるreduxが変なのは仕方のないこと
そもそもreact hooksの登場がreactの登場から随分時間たちすぎだと思うし
つまりみんな苦しんでやっといい感じになったというだけのことに思える
テストの問題があったmiyamonz.icon
viewに関数渡すとテストが難しいよねということ
その点、action objectを渡して使う場合は大丈夫になる
関数をDIすると良いんじゃないかと思うがどうだろ
そうだ、どういうアクションを出すかどうかも副作用とみなせるから、react hooks使えばいいんだ
実際の動作内容を書く前に、「ボタンAが押された」というイベントだけをまず定義するのも快適な気がしてきた
イベント定義とアクション定義して、イベントとアクションを紐付けるという意味なら、良いような気もしてきた
イベントと動作の紐付けをするところがreducerであり
そこに実装を直書きするのか
すべきことを関数で別の場所に書くのか
viewから関数をそのまま渡すのか
など、いろいろな段階がある
view, event, do
testの問題は、副作用を持つ外側のコンポーネントと、ピュアなコンポーネントに分ければ問題なくできるのではなかろうか
こちらを教えてもらった
良さそうだが、これは今回の話とは独立した話のはず
reduxでも今回書いたreact hooksのやり方にも、immerは便利かも
react-starter-kit
createSliceでactionとreducerを同時に作っているらしい
前提
reduxの深い経験なしmiyamonz.icon 仕事でばりばり書くとか
素振りをしたことはある
普通にドキュメント読んだり
記事を適当に読んだり
もっとちゃんと作り込んだら変わるんだろうか
---
miyamonz.iconが認識してなさそうな所
middlewareとか
middlewareとか、reduxじゃないと無理なんてこと無いはずだとおもいますがどうでしょう
非同期とか
非同期に関しては, useEffectとかで頑張るのがいいはず
返答が遅いときとかどうなるのか分からんmiyamonz.icon
でもそれはreduxも同じ?分からん
useEffect使えば問題なさそう
あーもしかして、複数のdispatchが走ったときとかに関係あるのだろうか?
うーん?
twitterで上のようなこと書いてたら反応頂いた thx!!
そしてちゃんと書こうと思ってscrapboxにいま書いている
reduxにはmapなんとかみたいな関数もあった気がするが、
なんかいい感じにstateの下階層をわたすやつ
state -> stateから考えればそれも数行で実装できると思う
code:js
dispatchは上のような感じであるとして
const dispatchTodo = (updateTodos) => dispatch( ({todos}) => ({todos: updateTodos(todos)}) )
こんな感じか?
code:js
//こんなのみたいなのを作れば
code dispatchSub = name => updateFn => dispatch( state => ({name: updateFn(statename)}) ) //こうできる
code dispatchTodo = dispatchSub('todos')
これはkeyが1階層しかできないからだめだな
reduxのhooksのapiだとuseSelectorってやつが該当するっぽい
state => state.subStateを渡す
dispatchは提供してくれないのか