我的 playbook 是这样的,

在API获取项目后,我想要重新渲染组件,并使EnhancedTable apper.

但此脚本中,API FETCH成功,但EnhancedTable未出现.

响应.data返回正确的数据,但不执行重新呈现.

我哪里错了?

const MetaPanel = (props) =>{
    const [drawingItems,setDrawingItems] = React.useState([]);
    
    useEffect(() => {
        console.log("File List");
        var formData = new FormData();
        axios.defaults.xsrfHeaderName = "X-CSRFTOKEN";
        axios.defaults.xsrfCookieName = "csrftoken";
        axios.defaults.withCredentials = true;
        axios.get(`/api/drawings/`)
            
        .then(function (response) {
            console.log(response.data);
            setDrawingItems(response.data);
          
        })
        .catch(function (response) {
            console.log(response);
        });
    },[]);
    
    
    return (
    <div>
    <div>
        <p>FileList</p>
        {drawingItems.length != 0 &
           
            <EnhancedTable data={drawingItems}></EnhancedTable>
        }
    </div>
    </div>

    );
}

推荐答案

您能试一下这个吗?

<div>
        <p>FileList</p>
        {drawingItems &&
            <EnhancedTable data={drawingItems}></EnhancedTable>
        }
    </div>

顺便说一句,您可以改进有效部件的使用

useEffect(() => {
        const fetchData= async()=>{
          const response = await axios.get(`/api/drawings/`)
          if(response){
            setDrawingItems(response?.data);
          }
        }
       fetchData() 
    },[]);

Javascript相关问答推荐

在grafana情节,避免冲突的情节和传说

未捕获错误:[]:getActivePinia()被调用,但没有活动Pinia.🍍""在调用app.use(pinia)之前,您是否try 使用store ?""

Chart.js 4.4.2,当悬停在一个数据点上时,如何在工具提示中拥有多个数据点/标签?

为什么我的导航条打开状态没有在窗口addeventlistener(Reaction Js)中更新?

单个HTML中的多个HTML文件

WP Bootstrap NavWaker:下拉菜单一次打开所有下拉菜单

环境值在.js文件/Next.js中不起作用

400 bad request error posting through node-fetch

NG/Express API路由处理程序停止工作

元素字符串长度html

SPAN不会在点击时关闭模式,尽管它们可以发送日志(log)等

如何利用CSS中的隐藏元素实现平滑扩展和防止网格行间隙

如何在Java脚本中对列表中的特定元素进行排序?

更新Redux存储中的对象数组

无法读取未定义的属性(正在读取合并)-react RTK

背景动画让网站摇摇欲坠

MUI迷你图:如何将$符号添加到MUI迷你图中的工具提示数据

如何压缩图像并将其编码为文本?

如何阻止外部脚本进入顶层导航

在点击链接后重定向至url之前暂停