При запросе атрибута объекта выдаёт undefined

Пишу фронтенд на react, сам бэкенд содержит только два эндпоинта

"predict/"

введите сюда описание изображения

и "predict/${name}/"

введите сюда описание изображения

Код JavaScript:

const App = () => {
  const [currencies, setCurrencies] = useState([])
  const [itemName, setItemName] = useState('AK')
  const [itemData, setItemData] = useState(null)

  const fetchCurrensies = () => {
    axios.get('http://127.0.0.1:8000/predict').then(r => {
        const currencies = r.data
        const menuItems = [
          {
            key: 'g1',
            label: 'Список товаров',
            type: 'group',
            children: currencies.map(c => {
            return {label: c.name, key: c.name}
            })
        }]
        setCurrencies(menuItems)
    })
  }

  const fetchItem = () => {
    axios.get(`http://127.0.0.1:8000/predict/'${itemName}'`).then(r => {
        setItemData(r.name)
    })
  }

  useEffect(() => {
    fetchCurrensies()
  }, []);

  useEffect(() => {
    fetchItem()
  }, [itemName]);

  const onClick = (e) => {
    setItemName(e.label)
  };
  return (
    <div className="flex">
        <Menu
          onClick={onClick}
          style={{
            width: 256,
          }}
          defaultSelectedKeys={['1']}
          defaultOpenKeys={['sub1']}
          mode="inline"
          items={currencies}
          className="h-screen overflow-scroll"
        />
        <div className="mx-auto my-auto">
            <ItemCard/>
        </div>
    </div>
  );
};
export default App;

Когда выбираю какой-нибудь пункт меню кроме изначального, он в функции fetchitem передаёт undefined, т.е. http://127.0.0.1:8000/predict/undefined

введите сюда описание изображения

Если поменять e.label на e.click, в onClick, то всё работает. В чём дело может быть ошибка. В среде разработки никакую ошибку не выдаёт.

введите сюда описание изображения введите сюда описание изображения


Ответы (0 шт):