lodashの関数通したオブジェクトをReact、typescript環境で使うには?
Reactの入門者です。
オブジェクト配列である変数productListを、lodashの.groupBy()を使用しキー"category"毎にグルーピングした配列を
テンプレートに表示させたいのですが、下記のコードではObject.entries().map()のところでエラーが発生します。
lodash関数が返す変数は標準の配列ではなくlodash特有のオブジェクトになるんでしょうか。
それが型付の世界でどういう取り扱いになるのかが理解できていません。
また、下記の疑問点はReact,JSXの知識になると思うのですが、
・やりたいこととしては、categoryでグルーピングしたリストをテンプレートに表示したいため
2重ループを書く必要が出てきますが、JSX(tsx)内ではどのように記述したら良いのでしょうか?
・ちなみに、ドキュメントを見るとlodashの関数にもmap()関数が存在するようですがJSX内で標準のmap()ではない、lodashのmap()も使えるのでしょうか?
lodash,react(jsx),typescriptと、登場人物が多く要因が複雑に絡み合ってそうで、
解決方法のご教示をお願いしたいです。よろしくお願いします。
javascript
1 type product = { 2 category: string 3 price: string 4 stocked: boolean 5 name: string 6 } 7 8 const productList: product[] = [ 9 { category: "Sporting Goods", price: "$49.99", stocked: true, name: "Football" }, 10 { category: "Sporting Goods", price: "$9.99", stocked: true, name: "Baseball" }, 11 { category: "Sporting Goods", price: "$29.99", stocked: false, name: "Basketball" }, 12 { category: "Electronics", price: "$99.99", stocked: true, name: "iPod Touch" }, 13 { category: "Electronics", price: "$399.99", stocked: false, name: "iPhone 5" }, 14 { category: "Electronics", price: "$199.99", stocked: true, name: "Nexus 7" } 15 ]; 16 17 const dict: any = _(productList).groupBy('category').value() 18 19 return ( 20 <table> 21 <tbody> 22 <tr> 23 { 24 Object.entries(dict).map(key: string) => { 25 return ( 26 <tr> 27 <td>{key}</td> 28 </tr> 29 ) 30 }) 31 } 32 </tr> 33 </tbody> 34 </table> 35 )
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2022/06/20 04:34
2022/06/20 07:14
退会済みユーザー
2022/06/22 13:47