検索後、スタイルが期待通りに反映されません。何かアドバイスが欲しいです!
前提
react + Rails APIで開発をしています。
そのなかで現在、検索機能を作っていまして
ユーザーがフォームを送信し検索をしたら、preventDefaultでリロードをせずそのまま、検索結果を表示するようにしています。
フォームの値を処理する部分のコードがこちらです。
jsx
1export const SearchForm = () => { 2//検索ワードを入れる 3 const [name, setName] = useState("") 4//APIから返ってきた値を入れる 5 const [searchedPuas, setPuas] = useState([]); 6 const [reviewsAverageSet, setAverage] = useState([]); 7 8 9 const handleClick = (e) =>{ 10 e.preventDefault(); 11 searchPuas({ 12 name: name 13 }) 14 .then((data) =>{ 15//APIから返ってきた値をセット 16 setPuas(data.searchedPuas); 17 setAverage(data.reviewsAverageSet); 18 }) 19 } 20 21 return ( 22 <Fragment> 23 <form> 24 25 <TextField 26 label="検索" 27 value={name} 28 onChange={e => setName(e.target.value)} 29 /> 30 31 <button type="submit" onClick={(e) => handleClick(e)}> 32 送信 33 </button> 34 35 </form> 36//検索結果をここで表示します。問題のスタイル部分はここのGeneratePuaCardです。下の方に中身の抜粋を載せてます。 37 { 38 searchedPuas && 39 searchedPuas.map((pua, i) => 40 41 <GeneratePuaCard 42 pua={pua} 43 reviewsAverageSet={reviewsAverageSet} 44 index={i} 45 /> 46 ) 47 } 48 49 <Footer/> 50 </Fragment> 51 ) 52} 53コード
問題
しかし、このやり方ですと値は更新されているのですがスタイルが更新されません。
更新されない部分の抜粋
jsx
1//値はちゃんと入ってるようです。 2 {console.log(`Rating:`,reviewsAverageSet[index])} 3 <Rating 4 name="read-only" 5 value={reviewsAverageSet[index]} 6 readOnly 7 precision={0.5} 8 />
何かいい方法ありましたらご教示頂けると幸いです!よろしくお願いします!
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。