タグ

JavaScriptとReactに関するnaga_sawaのブックマーク (5)

  • useEffect完全ガイド

    あなたは Hooks を使って複数のコンポーネントを書きました。ちょっとしたアプリも作ったことがあるでしょう。満足もしている。API にも慣れて、その過程でコツも掴んできました。しかも重複したロジックを転用できるよう Custom Hooks を作り、同僚に自慢して見たり。 でも useEffect を使う度、いまいちピンときません。class のライフサイクルとは似ているけど、何かが違う。そしていろんな疑問を抱き始めます。 🤔 componentDidMount を useEffect で再現する方法は? 🤔 useEffect 内で正確に非同期処理を行う方法とは? []ってなに? 🤔 関数をエフェクトの依存関係として記すべき? 🤔 非同期処理の無限ループがたまに起こるのはなぜ? 🤔 古い state か props がエフェクト内にたまに入るのはなぜ? 私も Hooks を使

    naga_sawa
    naga_sawa 2020/07/05
    useEffect のあれこれ/JavaScrpitのキャプチャの挙動を把握していないと地雷ふみそう
  • Reactのchildren探訪 - Qiita

    ReactのJSXでも子要素を定義できますが、これが結構面白いものでした。 自作エレメントにも子要素 ReactのJSXでは、(DOMを組み立てるものである以上当然ですが)<div>の中に<a>を書いて、そしてさらに文字列を書き込む、ということが可能です。 そして、これはHTML由来のエレメントだけでなく、自作のコンポーネントでも実現可能です。 このように、子要素はchildrenというPropとして渡ってきます。 childrenの中身が知りたくて では、このchildrenには何がどのような形式で来るのでしょうか。JSXの変換先であるReact.createElementのソースコードに当たってみました。挙動はchildrenの数によって違います。 0個…childrenにはpropとして渡したchildrenが(もしあれば)渡される 1個…childrenには唯一のchildren引

    Reactのchildren探訪 - Qiita
    naga_sawa
    naga_sawa 2020/07/05
    ript][tips] React.createElement の children は props.children に入ってコンポーネントに渡される/コンポーネント側で Comp = ({children, ...props}) => {} のようにして分離するのがベター?
  • How to Render a Component Dynamically Based on a JSON Config

    naga_sawa
    naga_sawa 2020/07/05
    JSONベースで動的にエレメント生成
  • How to render dynamic component defined in JSON using React | Storyblok

    naga_sawa
    naga_sawa 2020/07/05
    JSONベースで動的にエレメント生成
  • React.useEffectで非同期処理をする場合の注意点2つ(変更あり) - Qiita

    はじめに React 16.8から導入されたhooksにはuseEffectがあります。 詳細は公式サイトをまず参照しましょう。 useEffectを使うと、コンポーネントのレンダリングとは別に処理を書くことができます。useEffectでしばしば非同期処理を書くことがあります。例えば、サーバからのデータ取得の処理などがあります。 以下では、useEffectで非同期処理を書く場合の注意点を2つ紹介します。ケースによっては注意点はこの2つだけではない可能性が高いので、ご留意ください。 promiseを返さない useEffectに渡す関数の戻り値はcleanup関数です。 useEffect(() => { console.log('side effect!'); const cleanup = () => { console.log('cleanup!'); }; return clea

    React.useEffectで非同期処理をする場合の注意点2つ(変更あり) - Qiita
    naga_sawa
    naga_sawa 2020/07/04
    useEffect で不用意に async すると暗黙の return Primise になるので注意/『It looks like you wrote useEffect(async () => ...) or returned a Promise』と親切な Warning 出してくれる
  • 1