第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何使用 useEffect 掛鉤從產(chǎn)品中獲取類別?

如何使用 useEffect 掛鉤從產(chǎn)品中獲取類別?

慕容3067478 2023-08-24 17:13:50
catId下午好,我不明白為什么我無(wú)法從產(chǎn)品中獲取類別。也就是說(shuō),首先我useState分別為產(chǎn)品和類別創(chuàng)建一個(gè)。然后,使用axios和useEffect,我通過(guò) slug 通過(guò)我的 API 獲取產(chǎn)品。(產(chǎn)品一切都好,一切都很酷)接下來(lái)我也想獲取類別,我需要傳遞參數(shù)catId,并且從之前收到的產(chǎn)品中不起作用。下面是代碼:import logo from './logo.svg'import './App.css'import React, {useState, useEffect} from 'react'import axios from 'axios'const App = () => {  const [product, setProduct] = useState({})  const [category, setCategory] = useState({})  useEffect(() => {    const fetchProduct = async () => {      const {data} = await axios.get('/api/products/random-lucky-box')      setProduct(data)    }    fetchProduct()  }, [])  useEffect(() => {    const fetchCategory = async () => {      const {data} = await axios.get(`/api/categories/${product.catId}`)      setCategory(data)    }    fetchCategory()  }, [])  return (    <div className="App">      <header className="App-header">        <img src={logo} className="App-logo" alt="logo" />        <p>          Название: {product.name} <br />          Цена: {product.price}        </p>      </header>    </div>  )}export default AppPS:API 單獨(dú)測(cè)試了一切正常,例如,如果您傳遞靜態(tài) id 參數(shù)。我將非常感謝您的幫助!
查看完整描述

1 回答

?
湖上湖

TA貢獻(xiàn)2003條經(jīng)驗(yàn) 獲得超2個(gè)贊

useEffect hook 就像一個(gè)生命周期,它將像 componentDidMount 一樣啟動(dòng),如果您希望從產(chǎn)品中獲取類別,您需要在方法中重構(gòu)您的獲取類別調(diào)用,而不是 useEffect。


所以當(dāng)你獲取產(chǎn)品后,你可以調(diào)用你的方法來(lái)獲取類別。它將是這樣的:


useEffect(() => {

    const fetchProduct = async () => {

      const {data} = await axios.get('/api/products/random-lucky-box')

      setProduct(data)

      fetchCategory(data.categoryId)

    }

  }, [])


  const fetchCategory = async (catId) =>  {

     const {data} = await axios.get(`/api/categories/${catId}`)

    // set your state or whatever

    }


我沒(méi)有太多時(shí)間詳細(xì)說(shuō)明代碼,您可能需要重構(gòu),但想法就是這樣。您應(yīng)該在獲取產(chǎn)品數(shù)據(jù)時(shí)調(diào)用您的方法


查看完整回答
反對(duì) 回復(fù) 2023-08-24
  • 1 回答
  • 0 關(guān)注
  • 203 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)