簡體   English   中英

未捕獲的錯誤:對象作為 React 子對象無效(發現:object 和鍵 {todo})。 如果您打算渲染一組孩子,請使用數組

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

我目前正在做一個 mern 應用程序,我遇到了以下問題

我正在調用我的 API,它給了我一個數組,當我嘗試通過它 map 時,它給出了一個錯誤

我正在接收一個數組,在那個數組里面,里面還有另一個數組,我需要那個數組的信息,但是我不能使用 map function

在這里,我正在嘗試 map 陣列

import React from "react";

import { TodoMain, Todo, Close, CloseIcon, TaskContainer } from "./ToDoStyled";

import { useSelector, useDispatch } from "react-redux";

const ToDo = ({ setTodo, idRoom, setIdRoom }) => {
  const handleTodo = () => {
    setTodo(false);
    setIdRoom("");
    document.body.style = "overflow: auto";
  };

  const user = JSON.parse(localStorage.getItem("profile"));

  const todo = useSelector(state => state.tasks);

  console.log(todo);

  return (
    <div>
      <TodoMain>
        <Todo>
          <Close>
            <CloseIcon onClick={handleTodo} />
          </Close>
          <TaskContainer>
            {todo.map((task) => {
              return (
                <div key={task._id}>
                  <h1>{task.task}</h1>
                </div>
              );
            })}
          </TaskContainer>
        </Todo>
      </TodoMain>
    </div>
  );
};

export default ToDo;

這就是數據的樣子,我需要獲取這些信息,但我不知道如何

在此處輸入圖像描述

我在這 5 個小時內嘗試了一切,試圖改變數據的結構,試圖改變后端的行為,這樣我就可以以不同的方式將數據發送到數據庫,但這實際上是迄今為止唯一的方法接收數據,我被困在這個:7

您可以訪問該數組的方式,在映射到第一個數組之后,它是 map

import React from "react";

import { TodoMain, Todo, Close, CloseIcon, TaskContainer } from "./ToDoStyled";

import { useSelector, useDispatch } from "react-redux";

const ToDo = ({ setTodo, idRoom, setIdRoom }) => {
  const handleTodo = () => {
    setTodo(false);
    setIdRoom("");
    document.body.style = "overflow: auto";
  };

  const user = JSON.parse(localStorage.getItem("profile"));

  const todo = useSelector(state => state.tasks);

  console.log(todo);

  return (
    <div>
      <TodoMain>
        <Todo>
          <Close>
            <CloseIcon onClick={handleTodo} />
          </Close>
          <TaskContainer>
            {todo.map((data) => {
              const {task,_id} = data
              return (
                <div key={_id}>
                {task.map((stuff)=>{
                  const {todo,name,room} = stuff
                  return(
                <h1 style={{color: 'white'}} >{todo}</h1>
                  )
                })}
                  
                </div>
              );
            })}
          </TaskContainer>
        </Todo>
      </TodoMain>
    </div>
  );
};

export default ToDo;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 Uncaught Error:Objects are not valid as a React child (found: object with keys.If you meant to render a collection of children, use an array instead 未捕獲的錯誤:對象作為 React 子項無效(已找到:帶鍵的對象。如果您打算呈現子項集合,請改用數組 錯誤:對象作為 React 子項無效(找到:object,鍵為 {inputList})。 如果你打算渲染一個孩子的集合,使用一個數組 對象作為 React 子級無效(找到:object 和鍵 {children})。 如果您打算渲染一組孩子,請改用數組 對象作為 React 子級無效(找到:object 和鍵 {value})。 如果您打算渲染一組孩子,請改用數組 對象作為 React 子級無效(找到:object 和鍵 {weight})。 如果您打算渲染一組孩子,請改用數組 對象作為 React 子級無效(找到:object 和鍵 {_delegate})。 如果您打算渲染一組孩子,請改用數組 對象作為 React 子級無效(找到:object 和鍵 {arr})。 如果您打算渲染一組孩子,請改用數組 對象作為React子對象無效(找到:帶有鍵{this}的對象)。 如果要渲染子級集合,請改用數組 對象作為 React 子項無效(找到:object 和鍵 {totalItems})。 如果您打算渲染一組孩子,請改用數組 未捕獲的錯誤:對象作為 React 子項無效(發現:[object Promise])。 如果您打算渲染一組孩子,請使用數組 instea
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM