Upgrade to Pro — share decks privately, control downloads, hide ads and more …

RailsからReactを剥がした話

Avatar for Riya Amemiya Riya Amemiya
December 03, 2023

 RailsからReactを剥がした話

Avatar for Riya Amemiya

Riya Amemiya

December 03, 2023
Tweet

More Decks by Riya Amemiya

Other Decks in Technology

Transcript

  1. 2

  2. 流れてくるデータが多次元配列 DBから取得したデータが多次元配列で流れていました。 [ ["id", 1], ["title", "Title"], ["description", "Description"], ["is_public",

    true], ["page_url", "hoge"], ["name_param", "hoge"], ["school_id", 1], ["tpl_image", {"id"=>1, "image_url"=>"http://res.cloudinary.com/hoge, "image_smart_url"=>nil}], ... ] 17
  3. 本当はちゃんとしたデータ構造に直したかったのですが、他のページでも参照しているた め、今回は直さずに移行しました。 必要なデータには position というキーがあるので、それを使ってソートしました。 items.map { |item| item.deep_transform_keys(&:to_sym) }.each_with_index.sort_by

    { |item, index| [item[:position], index] }.map(&:first) # map で配列の中身をシンボルに変換 # each_with_index で配列の中身とインデックスを取得 # sort_by でposition でソートし、position が同じ場合はインデックスでソート # map でインデックスを削除 18
  4. React const Hoge = () => { const text =

    " こんにちは" return ( <p> {text} </p> ) } <p> こんにちは</p> 22