reactとreact-routerを使って入力フォームのようなものを作っています。
ファイル選択で取得した画像のurlをpropsを使って遷移先のページに渡して表示させたいと考えているのですが、
なかなか解決策を見つけることができないです。
どなたかお力添えいただけないでしょうか。
ファイル選択ボタンのコード
jsx
1import React from "react"; 2import styled from "styled-components/macro"; 3import ItemButton from "./ItemButton" 4import { useState } from "react"; 5 6const ChooseButton = (props) => { 7 const [fileName, setFile] = useState(""); 8 const [fileImage, setImage] = useState(""); 9 10 const handleChooseFile = (event) => { 11 // 1枚だけ表示する 12 let file = event.target.files[0]; 13 14 setFile(file.name); 15 16 // ファイルのブラウザ上でのURLを取得する 17 let blobUrl = window.URL.createObjectURL(file); 18 19 setImage(blobUrl); 20 }; 21 22 return ( 23 <> 24 <ItemButton as="label" htmlFor="chooseButton"> 25 ファイルを選択 26 <input 27 id="chooseButton" 28 type="file" 29 onChange={(event) => handleChooseFile(event)} 30 css="display: none" 31 /> 32 </ItemButton> 33 {console.log(fileImage)} 34 {/* <img src={fileImage} alt="none"/> 35 <p>{fileName}</p> */} 36 </> 37 ); 38} 39 40export default ChooseButton;
イメージ
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。