blogに書かれている「useReducerとcontextを組み合わせてReduxのようにstateを管理する」というのを内部ではやっています。provider、consumerだけでなくdispatcherという名前のcomponentを提供しているのはそのためです。(実態はdispatcherもconsumerです)漢字を入力するフィールド側(KanaDispatcher)で「漢字を入力する」イベントをdispatchし、内部のstateが更新され、ふりがなを入力するフィールド(KanaConsumer)側でそれを参照する流れです。入力された文字列からひらがなを抽出するロジックはhistorykanaに丸投げです。ふりがなフィールド側に値をどういう条件で・どのタイミングでセットするかは完全に利用者に委ねています。渡していくのが不均衡だなと思ったりしました。実装を一部省略しつつ貼ります。null;};すっきりしています。利用者ならさらっと読み下せるようになったのではと感じます。置き換えられているのも良さそうです。CodeSandboxこれまで使っていなかったのですがアイデアを試したいときに超絶便利ですね。自分はフロントエンドの環境構築能力がダメダメなので一瞬で立ち上げてもらえて非常に助かりました。CodeSandbox上で「ライブラリ側」と「利用者側」のコードを同時に編集できるのも実験がしやすくて最高です。ライブラリが提供するAPIについてインタラクティブに試行錯誤したりできます。今回は「よーしライブラリ書くぞ!」と意気込んで始めたというより、CodeSandbox上で「こんなことできるかな」といろいろ試してたらなんかできたので面白かった、公開しておくか、という流れでした。久々に触ったらいろいろ学びがあってよかったですが、逆にまだまだわからないことがいっぱいあるなと思いました。身体が順応しきってなくてけっこう手が止まる。使っているので16.8以上じゃないと使えない、おまえ使ってもらう気あるのかという感じですが一旦は自分のためのコードということで。実はけっこう前にこういうのを書こうとしたけど完全に記憶から消えていた、というのを思い出した。5はてなブログをはじめよう!ohbaryeさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。