我是新来的反应,我有以下问题:use效应是更新无限次,但我只是希望它更新的数据,当我插入一个新的记录,我将不胜感激,如果有人能纠正我。
这是我的代码:
指数js
import {createUser, getUsers} from '../actions';
const Home = () => {
const [data, setData] = useState([]);
useEffect(() => {
async function fetchData(){
const result = await getUsers();
setData(result);
console.log("teste: ", result);
}
fetchData();
}, [setData]);
const handleCreateUser = (user) => {
createUser(user).then((users) => {
});
};
如果我加上第二个参数useffect()=
我做错了什么?创建用户是完美的工作,我只是想在同一时间在表
您可以将依赖数组留空,以便它只运行一次。
希望这能帮助你更好地理解。
useEffect(() => {
doSomething()
}, [])
空依赖项数组在装载时仅运行一次
useEffect(() => {
doSomething(value)
}, [value])
将值作为依赖项传递.如果依赖项自上次以来已更改,则效果将再次运行。
useEffect(() => {
doSomething(value)
})
没有依赖性。这在每次渲染后都会被调用。
看起来您只想获取一次数据(在组件加载时)。如果是这样,只需为依赖项使用一个空数组
useEffect(() => {
async function fetchData(){
const result = await getUsers();
setData(result);
console.log("teste: ", result);
}
fetchData();
}, []);
在use效应
中,如果没有第二个参数(依赖关系数组),效果将无限期运行。
如果您只希望您的效果仅在创建新用户时运行,您可以创建一个单独的状态,然后将该状态包含到使用效果的依赖项中,例如,将其称为刷新键。我的建议是:
import {createUser, getUsers} from '../actions';
const Home = () => {
const [data, setData] = useState([]);
const [refreshKey, setRefreshKey] = useState(0);
useEffect(() => {
async function fetchData(){
const result = await getUsers();
setData(result);
console.log("teste: ", result);
}
fetchData();
}, [refreshKey]);
const handleCreateUser = (user) => {
createUser(user).then((users) => {
// Refresh the effect by incrementing 1
setRefreshKey(oldKey => oldKey +1)
});
};
我正在使用useState设置文本输入,我正在使用use效应覆盖后退按钮的行为。 这总是导致记录的文本成为useState的初始值。如果我不使用useEffect,它可以工作,但我不想在每次更改时都设置导航选项。我可以从useEffect中的useState获取当前值,还是需要其他解决方案?
问题内容: 如何定期使用PHP刷新页面?如果我用PHP无法做到这一点,那么最好的推荐方案是什么? 问题答案: 您可以使用PHP来做到这一点: 它会刷新您的当前页面,如果需要将其重定向到另一个页面,请使用以下命令:
问题内容: 如果将新文档索引到Elasticsearch索引,则可在索引操作后1秒钟左右搜索新文档。但是,可以通过调用或对索引进行操作来强制使该文档可立即搜索。这两个操作之间有什么区别- 结果似乎对他们来说是相同的,可以立即搜索文档。 这些操作中的每一项到底是什么? ES文档似乎并未深入解决此问题。 问题答案: 您得到的答案是正确的,但我认为值得详细说明。 刷新有效地调用了Lucene索引读取器上
问题内容: 我有一个包含IFrame和一个Button的网页,一旦按下按钮,我需要刷新IFrame。如果可能的话,这可能吗?我搜索了,找不到任何答案。 问题答案:
问题内容: 这可能是一个简单的问题,但我很困惑,只是不知道从哪里开始。 我有一个PHP脚本(image_feed.php),该脚本返回图像的URL。每次调用此UR1时,它都会返回可用的最新图像(该图像每隔几秒钟更改一次)。 我想发生的是,当页面加载时,有一个对image_feed.php的AJAX调用,该调用返回了最新的URL。然后将该UR1插入HTM1,以替换适当的图像src。 5秒后,我希望重
我是wicket的新手,遇到了AjaxRequestTarget的面板刷新问题。我在下面澄清我的设想。 几次debgus之后,我在其他一些地方发现了我的问题。它不是关于刷新面板B,而是关于刷新面板A。面板A扩展面板,当我用Ajax计时器刷新面板A时,面板A的组件会损坏,因此,我的面板B也会损坏。所以,有人能帮我吗