実現したいこと
- react-railsを使って部分的に読み込んでいるReactを、esbuildに変更した時に正常に読み込めるようにしたい
前提
Rails6、webpacker、react-railsで実装していたシステムをRails7にアップデートすることになり、それに伴いwebpackerからesbuildに変更することになりました。
Reactの知識が乏しく、調べてもreact-railsとesbuildを使用した方法が見つけられませんでした。
よろしくお願いいたします。
発生している問題・エラーメッセージ
react-railsを使用して部分的にReactを読み込んでいましたが、
esbuildに変更してからのここの修正方法がわからず詰まっています。
html
1 = react_component('UserSkill', {id: current_user.id})
javascript
1import React, { useState, useEffect, useRef } from "react" 2import axios from "axios" 3 4const UserSkill = (props) => { 5 const id = useState(props.id); 6 const [skills, setSkills] = useState(props.search); 7 8 useEffect(() => { 9 async () => { 10 const result = await axios(`/skills?id=${id}`); 11 setSkills(result.data); 12 } 13 }, []); 14 return ( 15 <> 16 <ul> 17 {skills.map((skill) => { 18 <li key={skill.id}> 19 {skill.name} 20 </li> 21 })} 22 </ul> 23 </> 24 ); 25} 26 27export default Skill
試したこと
package.jsonから読み込む様にしてみましたがダメでした。
reactのファイルはapp/javascript/components下にあります。
"scripts": { "build": "esbuild app/javascript/components/*.* app/javascript/packs/*.* --bundle --sourcemap --target=es2022 --outdir=app/assets/builds --public-path=assets", "build:css": "sass ./app/assets/stylesheets/application.sass.scss:./app/assets/builds/application.css --no-source-map --load-path=node_modules" }
補足情報(FW/ツールのバージョンなど)
Ruby 3.1.0 → 3.1.3
Rails 6.1.6.1 → 7.0.4.2
react-rails 2.6.2
webpacker → esbuild
回答1件
あなたの回答
tips
プレビュー