フロントReact、バックエンドRailsにて開発をしております。
axiosを用いて画像のGet、Postをしており、Postにつきましては問題なく動作するのですがGetにおいて表示速度が遅いという問題があります。
おそらく原因はarticles_controllerにあると考えられます。
コードは以下になります。
React(axios)
1const getArticles = async() => { 2 try { 3 const results = await json.get('/articles') 4 setArticles(results.data) 5 } catch (error) { 6 console.log(error) 7 } 8 }
React(画像表示)
1{React.Children.toArray(articles.map((article) => ( 2 <Link to={{pathname:"/article/show/", state: {article} }}> 3 <div className='article' > 4 <img src={article.image} alt="画像がありません" /> 5 <p>{article.name}</p> 6 <p>¥{article.price}</p> 7 <p>{article.content}</p> 8 </div> 9 </Link> 10 )))}
Rails
1def index 2 articles = Article.all.with_attached_image 3 render json: articles.map{ 4 |article| 5 article.as_json.merge({ 6 image:url_for(article.image) 7 }) 8 } 9 end
Postは以下のようにしております。
Post
1try { 2 await json.post('/articles', data, { 3 headers: {"content-type": "multipart/form-data"} 4 }
何かアバイスありましたら宜しくお願い致します。
あなたの回答
tips
プレビュー