簡體   English   中英

在React中動態選擇一個JSON鍵值對

[英]Selecting a json key-value pair dynamically in React

我有一個像這樣的json:

{
    "index": 1,
    "ln": "27953",
    "name": "Product 1",
    "availability": {
        "day0726": "G",
        "day0727": "G",
        "day0728": "G",
    }
}

我想根據日期來動態顯示可用性。 例如,“ day0726”是7月26日。 如何使用以下代碼段顯示正確日期的值:

import React from "react"
import Product from "./Product"

const Productlist = ({ prodlist }) => {
    return (
        <div>
            {
                prodlist.map((item, i) => {
                    return (
                        <Product
                            key={prodlist[i].index}
                            name={prodlist[i].name}
                            ln={prodlist[i].ln}
                            availability={*this is I want to change dynamically*}
                        />
                    )
                })
            }
        </div>
    )
}

export default Productlist 

可以做到還是思路完全錯誤?

先感謝您!

編輯:如有必要,我可以將日期鍵格式更改為任何格式。

您首先必須創建一個具有自己格式的日期,然后可以在組件中使用該日期以某個特定的鍵獲取產品availability

 let date = new Date(); function str_pad(n) { return String("00" + n).slice(-2); } date = "day"+(str_pad(date.getMonth()+1))+str_pad(date.getDate()); console.log(date) 

import React from "react"
import Product from "./Product"

let date = new Date();
function str_pad(n) {
  return String("00" + n).slice(-2);
}
date = "day"+(str_pad(date.getMonth()+1))+str_pad(date.getDate());


const Productlist = ({ prodlist }) => {
    return (
        <div>
            {
                prodlist.map((item, i) => {
                    return (
                        <Product
                            key={prodlist[i].index}
                            name={prodlist[i].name}
                            ln={prodlist[i].ln}
                            availability={prodlist[i].availability[date]}
                        />
                    )
                })
            }
        </div>
    )
}

export default Productlist 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM