将数组从 redux 存储导入到表中。反应,js

Posted

技术标签:

【中文标题】将数组从 redux 存储导入到表中。反应,js【英文标题】:Import an array from the redux store to a table. React,js 【发布时间】:2021-08-10 01:46:21 【问题描述】:

我正在尝试从 redux 存储导入数据并在表格中呈现。

我尝试了很多次,但总是收到此错误:对象作为反应子项无效(找到:带有键 的对象)。如果您打算渲染一组子项,请改用数组。

我认为我应该使用 .map 方法,但我不知道何时使用 useSelector 获取数据

这是我的 redux 商店

我要渲染数据的表格

<table className="table">
        <thead>
            <tr>
                <th style= width: 100 >ID</th>
                <th style= width: 150 >Nombre</th>
                <th style= width: 150 >Precio</th>
                <th style= width: 150 >Stock</th>
            </tr>
        </thead>
        <tbody>
            
                <tr>
                    <td></td>
                    <td></td>
                    <td></td>
                    <td></td>
                </tr>
            
        </tbody>
    </table>

我使用了一个 useSelector 从存储中获取数据

const  body  = useSelector( state => state.coffe );

但是现在我该如何渲染数据呢?

还是我做错了什么?

有人可以帮我弄清楚吗?感谢您的宝贵时间!

【问题讨论】:

【参考方案1】:

首先检查体是返回数据。如果是,请使用此代码

const Table = () => 
    const  body  = useSelector( state => state.coffe );
    return (
        <table className="table">
            <thead>
                <tr>
                    <th style= width: 100 >ID</th>
                    <th style= width: 150 >Nombre</th>
                    <th style= width: 150 >Precio</th>
                    <th style= width: 150 >Stock</th>
                </tr>
            </thead>
            <tbody>
                body && body.map( b => 
                    <tr key=b.id>
                        <td>b.nombre</td>
                        <td>b.precio</td>
                        <td>b.stock</td>
                    </tr>
                )
            </tbody>
        </table>
    )

导出默认表格;

要渲染数据,您需要使用地图功能。

【讨论】:

非常感谢!!我真的很感激

以上是关于将数组从 redux 存储导入到表中。反应,js的主要内容,如果未能解决你的问题,请参考以下文章

更新 Redux 存储时反应组件不重新渲染

如何使用vue js将数组中的数组检索到表中

Firestore:如何从数组中检索数据并将其传递到表中?

(Golang)将数组中的所有行插入到表中

如何将列值从存储过程中的另一个表更新到表中?

使用 Knockout.JS 通过 JSON 将 HTML 复选标记传递到表中