【发布时间】:2021-03-07 21:05:17
【问题描述】:
每次使用表单添加新项目时,我都会尝试显示更新的项目列表。使用 useEffect 钩子,我一直卡在一个导致页面崩溃的无限循环中。 我不确定如何添加某种验证,仅在添加新项目时才要求重新渲染我的组件。
@app.route('/assets')
def get_assets():
print('this is a test')
cursor = assets.find()
list_cur = list(cursor)
assets = dumps(list_cur)
return assets
function Assets() {
const [currentAsset, setCurrentAsset] = useState(0);
useEffect(() => {
(async () => {
const result = await fetch('/assets')
const data = await result.json()
setCurrentAsset(data)
})()
}, [currentAsset]);
return (
<div>
<header>
<table className="table table-striped">
<thead>
<tr>
<th>Ip Address</th>
<th>Asset Type</th>
<th>Username</th>
<th>Notes</th>
</tr>
</thead>
<tbody>
{Object.values(currentAsset).map((item, index) => (
<tr key={item._id? item._id.$oid: null}>
<td>{item.ip_address}</td>
<td>{item.asset_type}</td>
<td>{item.username}</td>
<td>{item.notes}</td>
</tr>
)
)}
</tbody>
</table>
</header>
</div>
);
}
export default Assets;
注意:每次添加新项目时,我都希望在不重新加载页面的情况下呈现更新数据。我试图达到与此演示相同的结果:https://taniarascia.github.io/react-hooks/ 是否有唯一的 Hooks 方法?
【问题讨论】:
-
这没有意义,你不要在前端添加资产,你从后端获取它们。前端如何知道新资产何时可用?
-
什么意思?我正在尝试查看更新的列表而无需刷新浏览器。试图达到与此相同的结果:taniarascia.github.io/react-hooks
标签: reactjs react-hooks use-effect