Javascript 根据获取数据设置状态的正确方法是什么?
我确实对此进行了搜索,但我找不到解释哪种方法是有效的和遵循的 如果我们想在我们的状态中添加新的数据,我们肯定会使用不可变的方式,比如映射整个数据来创建新的数组或删除过滤器等等。然而,当从服务器获取数据时,我不知道哪种方法是合适的,为什么?我真的需要迭代整个数组还是创建对象的深度副本 方式1 方式2Javascript 根据获取数据设置状态的正确方法是什么?,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我确实对此进行了搜索,但我找不到解释哪种方法是有效的和遵循的 如果我们想在我们的状态中添加新的数据,我们肯定会使用不可变的方式,比如映射整个数据来创建新的数组或删除过滤器等等。然而,当从服务器获取数据时,我不知道哪种方法是合适的,为什么?我真的需要迭代整个数组还是创建对象的深度副本 方式1 方式2 在类组件中,我们有状态对象,我们正在更新它并从中获取值。在这种情况下,不可变状态可能是一个问题 在功能组件中,您可以克服不可变状态,因为我们一次只引用一个实体/值。因此,您的第二个代码示例将是一个很好
在类组件中,我们有状态对象,我们正在更新它并从中获取值。在这种情况下,不可变状态可能是一个问题 在功能组件中,您可以克服不可变状态,因为我们一次只引用一个实体/值。因此,您的第二个代码示例将是一个很好的方法
const [data, setData] = useState([]);
useEffect(() => {
fetch('https://jsonplaceholder.typicode.com/posts')
.then((response) => {
return response.json();
})
.then(myJson => {
setData(myJson);
});
}, []);
在类组件中,我们有状态对象,我们正在更新它并从中获取值。在这种情况下,不可变状态可能是一个问题 在功能组件中,您可以克服不可变状态,因为我们一次只引用一个实体/值。因此,您的第二个代码示例将是一个很好的方法
const [data, setData] = useState([]);
useEffect(() => {
fetch('https://jsonplaceholder.typicode.com/posts')
.then((response) => {
return response.json();
})
.then(myJson => {
setData(myJson);
});
}, []);
这两种方式都使用不可变方式设置状态,对于我来说,如果您需要在前端处理数据,例如筛选、格式化或删除,则需要使用方式1。如果数据不需要处理,我将推荐方法2。此外,我建议您根据需要在数据库或后端准备数据,然后将其发送到前端 两种方式都使用不可变方式设置状态,对于我来说,如果您需要在前端处理数据,例如筛选、格式化或删除,则需要使用方式1。如果数据不需要处理,我将推荐方法2。此外,我建议您根据需要在数据库或后端准备数据,然后将其发送到前端 我看不出我为什么不做不必要的“Way2”way1。我看不出我为什么不做不必要的“Way2”way1。据我所知,如果我们获取的是类组件,我们不应该担心不变性。当然,我不是在说更新当前状态。是的,可能是这样。据我所知,如果我们获取的是类组件,那么我们不应该担心不变性。当然,我不是说更新当前状态。是的,可能是这样。
const [data, setData] = useState([]);
useEffect(() => {
fetch('https://jsonplaceholder.typicode.com/posts')
.then((response) => {
return response.json();
})
.then(myJson => {
setData(myJson);
});
}, []);