Objects are not valid as a React child.

پرسیده شده
فعالیت 1236 روز پیش
دیده شده 852 بار
0

با سلام 

من در حین تماشای ویدئو کدهای استاد رو هم خودم میزدم که در آخر به این خطا برخورد کردم

Error: Objects are not valid as a React child (found: object with keys {post}). If you meant to render a collection of children, use an array instead.

مشکل از کجایه کاره ؟

ممنونم

import React, { useState } from "react";
import Loading from "./components/Loading";
import Toast from "./components/Toast";
import "react-toastify/dist/ReactToastify.css";
import { useEffect } from "react";

export default function App() {
  const [toast, setToast] = useState({ type: "info", message: "Information" });
  const [post, setpost] = useState("");
  const [postId, setpostId] = useState(1);
  const [load, setLoad] = useState(true);

  useEffect(() => {
    fetch(`https://jsonplaceholder.typicode.com/posts/${postId}`)
      .then((response) => response.json())
      .then((post) => {
        setpost(post.title);
        setLoad(false); // ???????
      });
  }, [postId]);

  function handleClick(e) {
    setpostId(e.target.value);
    setLoad(true);
  }

  return (
    <>
    <div>
    <div>
        <input value={postId} onChange={handleClick}></input>
      </div>
      <div>{load ? <Loading /> : { post }}</div>

      <Toast type={toast.type} message={toast.message} />
    </div>
     
    </>
  );
}
فایل پیوست

Amin Ataei
Amin Ataei

25 آذر 99

0
حذف شده

سلام

ارور شفاف گفته که post مشکل داره و نمیتونه اون رو رندر بکن! یه لاگ بگیر ببین که الان مقدار post چی هست

باید مقداری باشه که بتونه اون رو رندر بکن مثل یک کامپوننت، string و آرایه و ...

فایل پیوست

مجتبی سوری

توسط

مجتبی سوری

26 آذر 99

0
حذف شده

سلام مجدد

لاگ گرفتم و عینا یه آبجکت رو بدون ایراد برگردونده بود

منتهی شما داخل یک تگ h1 مقدار post رو قراردادین و من الان این کارو کردم و بدون اشکال اجرا میشه

قبلش این تگ رو قرار نداده بودم! 

در واقع این خط :

      <div>{load ? <Loading /> : <h1>{ post }</h1>}</div>

 

ممنون از وقتی که گذاشتید

 

 

فایل پیوست

Amin Ataei

توسط

Amin Ataei

26 آذر 99