Menetapkan keadaan secara dinamik dalam React adalah tidak sah
P粉366946380
P粉366946380 2023-09-08 17:35:50
0
1
414

Saya cuba menyediakan tatasusunan secara dinamik dan memaparkannya menggunakan cangkuk useState. Tetapi nampaknya array tidak ditetapkan. Inilah kod saya:

import React, { useState, useEffect } from "react";

export default ({ item }) => {
    const [attachments, setAttachments] = useState([]);
    const setAttachmentValues = function(response){
        setAttachments(response.data);
        
    }
    const fetchMedia = async ()=> {
        setAttachments([]);           
        await apiCall().then((response) => {                
            setAttachmentValues(response);                
        });
    }
    
    useEffect(() => {
        fetchMedia();
    }, []);
    return (
        <>
           <div className="w-full">
                {(attachments.map((ele) => {
                      <div>{ele}</div>
                )} 
        </>
    )
}

apiCall() akan mengembalikan pelbagai objek.

Dalam beberapa kes adalah sah untuk menetapkan keadaan dengan cara ini. Apakah isu sebenar di sini?

P粉366946380
P粉366946380

membalas semua(1)
P粉868586032

Jadi anda boleh membuat data

import React, { useState, useEffect } from 'react';

export default ({ item }) => {
  const [attachments, setAttachments] = useState([]);

  useEffect(() => {
    
    fetch('https://jsonplaceholder.typicode.com/users')
      .then((response) => response.json())
      .then((response) => {
        setAttachments(response);
        console.log(response);
      });
  }, []);
  return (
    <>
       <div>
        {attachments.map(item => <div key={item.username}> {item.username} </div> )}
      </div>
    </>
  );
};
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan