v2.5.2
Giriş yap

React ile mapping yaparken degisken koyma

restinparis
253 defa görüntülendi

Bir tane json dosyasinin icindeki verileri cekiyorum fakat cekerken soyle bir
sıkıntı oluyor ki aşağıda yorum satırlarıyla göstereceğim.

  const location = useLocation();
  const locationState = location.state.title; 
  //Burda linkimin uzerinden veri mi aldim
  
  //daha kolay olsun diye su sekile cevirelim
  
  const locationState = car
  
  
  
  <div className="grid-container">
            {dataimg.car.map((item, index) => (
    <div key={index} className={'container ' + locationState} onClick={() => handleClick(item, index)}>
        <img src={item.link} alt={item.text} className={item.class + ' albumImages'}
        style={{display: locationState == item.class ? 'block' : 'none'}}
        />
    </div> //Burda da veriyi cekiyorum Buraya kadar problem yok zaten
    
    //bu arada json dosyamin iceriginin kucuk bir kismini gostereyim
    
    {
    "car": [
    {
        "text": "car",
        "link": "static/media/car.dc19654f49ae368f6100.jpg",
        "class": "car"
    },
    {
        "text": "dog",
        "link": "https://images.unsplash.com/photo-1517423440428-a5a00ad493e8?ixlib=rb-1.2.1&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=400&fit=max&ixid=eyJhcHBfaWQiOjE0NTg5fQ",
        "class": "studio"
    }
    ]
    }
    
    //sorun su ki ben bu veri cektigim yerin ilk satirini
    dataimg.car.map(..).. "yerine" dataimg. LOCATIONSTATE .map "yani"
    dataimg.locationState.map
    //seklinde yazmak istiyorum ama dataimg.locationState.map seklinde yazinca
    //calismiyor daha kolaylik olsun diye locationState = car a cevirdim
    //yine olmuyor
    

Bunu nasil halledebilirim arkadaslar bunun syntax inda mi hata yapiyorum kullaniminda
mi anlamadim saatlerdir ugrasiyorum...

Cevap yaz
Cevaplar (1)
devepdogukan
661 gün önce

Anladığım kadarıyla json objesinin içerisinde key ile ulaşmaya çalışıyorsun.
Objelerde '.' ile property 'e erişebilirsin fakat yazdığın şey bir değişken ve büyük ihtimalle değişken ile aramıyor
Bunun için dataimg[LOCATIONSTATE].map demen gerekli