前提・実現したいこと
grommetを使ってコンポーネントを作成しています。
その際にカードを複数枚表示し、カードのボタンを押したときにその情報を持ったモーダルを表示したいと思っています。
しかし、今のコードだとカードのinfoは合っているのですが、全てのカードのモーダルではinfoは一番最後のfugaが表示されてしまいます。
どのようにすればカードとモーダルの情報を対応させることができるでしょうか。
発生している問題・エラーメッセージ
カードの情報とモーダルの情報が一致しない
該当のソースコード
javascript
1const information = [ 2{'title': 'hoge', 'info': 'hoge'}, 3{'title': 'hogee', 'info': 'hogee'}, 4{'title': 'fuga', 'info': 'fuga'} 5} 6const [show, setShow] = React.useState(); 7 8{information.map((item, index) => { 9 return ( 10 <Card a11yTitle={index} key={item.title}> 11 <Box> 12 <CardBody> 13 {item.info} //正しいinfo 14 {show && ( 15 <Layer 16 onEsc={() => setShow(false)} 17 onClickOutside={() => setShow(false)} 18 > 19 <Box pad="medium" width="medium"> 20 <h2>{item.info}</h2> //全てfuga 21 <Box flex> 22 <Button 23 width="small" 24 label="+" 25 onClick={() => 26 add(item.info) 27 } 28 /> 29 </Box> 30 </Box> 31 </Layer> 32 )} 33 </CardBody> 34 </Box> 35 </Card> 36 ); 37 })} 38 </Box>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。