こちらの画像のようにuseStateを使って、inputの日付と時間を管理したいですが、入力しても第一希望しか変化せず、第2希望はカレンダーを選択しても日付と時間が出てきません。
以下のコードでどの部分を修正すればいいでしょうか?
jsx
1import * as React from 'react' 2 3const labels = { 4 desired1: '第一希望', 5 desired2: '第二希望', 6} 7 8const desires = { 9 desired1: [''], 10 desired2: [''], 11} 12 13const starting = { 14 desired1: '', 15 desired2: '', 16} 17 18const App = () => { 19 const [appo, setAppo] = React.useState({ ...starting }) 20 21 const iValue = (key, val) => { 22 setAppo(prev => { 23 const next = {...prev} 24 next[key] = val 25 return next 26 }) 27 } 28 29 return ( 30 <form> 31 <table> 32 <tbody> 33 { Object.keys(labels).map(key => labels[key] && ( 34 <tr> 35 <td> 36 {labels[key]} 37 </td> 38 <td> 39 {desires[key] && desires[key].map(desire => ( 40 <div> 41 <input type='date' 42 id="date" 43 value={appo[key]} 44 onChange={() => iValue(key, (document.getElementById('date').value + document.getElementById('time').value))} 45 /> 46 <input type='time' 47 id="time" 48 value={appo[key]} 49 onChange={() => iValue(key, (document.getElementById('date').value + document.getElementById('time').value))} 50 /> 51 <label>{desire}</label> 52 </div> 53 ))} 54 </td> 55 </tr> 56 )) 57 } 58 </tbody> 59 </table> 60 </form> 61 ) 62}
これコードは正しいですか?
Appの中身がuseStateだけだったり、returnが外に飛び出してたり...
回答1件
あなたの回答
tips
プレビュー