مدرس دوره علی شیخ
مدت دوره 21:00:21
تعداد ویدیو 133

وضعیت دوره : درحال برگزاری
قیمت دوره : 699,000 524,000 تومان

نظرات ارزشمند شما:

برای ارسال نظر ابتدا باید وارد سایت شوید

  • با سلام و احترام
    من کد رودقیقا مثل شما می نویسم. تستم کردم لاگ کرفتم دیتا از سرور بر گشت داده میشه اما وقتی از setUsers() استفاده میکنم در پرامیس که دیتا رو به useState بدم با این ارور مواجه میشم.
    Uncaught (in promise) TypeError: setError is not a function
    at Indes.js:18:1

    قسمت setError را هم حذف میکنم دوباره همین ارور میاد اما با setUsers is not a function
    ممنون میشم راهنمایی بفرمایین.

    • سلام وقت بخیر.
      متن ارور نوشته که تابع نیست و باید شما چک کنید که بدرستی نوشتید و import کردید یا خیر، با سورس کدی که در اختیارتون هست خط به خط مقایسه کنید.

    • سلام وقت بخیر.
      این مورد مربوط به js هست و اگه از {} استفاده میکنید باید مقدار مورد نظرتون را return کنید.

  • باسلام و احترام و عرض خسته نباشید.

    یک سوال.

    چرا وقتی از console.log(users) به صورت زیر استفاده میکنیم مقدار برگشتی در وب console به این شکل هست ؟

    [ ]
    Index.js:27 (10) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]

    کد :

    
    
    useEffect(() => {

    axios.get('https://jsonplaceholder.typicode.com/users')
    .then(function (response) {
    setUsers(response.data);
    setLoading(false);
    setError(null);

    })
    .catch(function (error) {
    setError(error.message);
    setLoading(false)
    })

    }, []);
    console.log(users)

    یعنی در پنجره وب console مقدار json برگشت داده میشه ولی قبلش مقدار [ ] یک مقدار list خالی رو بر میگردونه ؟


    و یا اگر console.log(users) به صورت کد زیر نوشته بشه :
    
    
    const Users = () => {

    const [users, setUsers] = useState([]);
    const [loading, setLoading] = useState(true)
    const [error, setError] = useState(true)


    useEffect(() => {

    axios.get('https://jsonplaceholder.typicode.com/users')
    .then(function (response) {
    setUsers(response.data);
    setLoading(false);
    setError(null);
    console.log(users)
    })
    .catch(function (error) {
    setError(error.message);
    setLoading(false)
    })

    }, []);

    کلا مقدار [ ] بر میگردونه ولی در صفحه نمایش :

    json رو کاملا برمیگردونه و لیست users ها بر میگرده ؟

    با تشکر.

    • سلتم وقت بخیر.
      توی ورژن ۱۸ هوک useEffec توی حالت dev دوبار صدا زده میشه ولی حالت peoduction یکبار که میتونید تست کنید.
      Log دوم بعد از useEffect صدا بزنید.