توضیحات

در این جلسه به نمایش لیست کاربران در پروژه spa از دوره آموزش ری اکت (React.js) پروژه محور میپردازیم.


javascript جاوااسکریپت react ری اکت

مدرس دوره علی شیخ
مدت دوره 16:08:35
تعداد ویدیو 106

وضعیت دوره : کامل شده
قیمت دوره : 399,000 379,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 صدا بزنید.