问题标签 [use-state]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
56 浏览

reactjs - 如何将 state 和 setState 作为参数传递给其他函数?

我已经在全局范围内定义了初始状态对象,如下所示。

现在在 useEffect() 方法中,我调用了一些函数,它将执行一些后端 api 调用,并根据我需要设置状态对象的响应,我尝试如下。

  1. 这是传递给函数以设置状态的正确方法吗?

现在里面的代码checkConfigStorage(setNewConfig, newConfigState, setNewForceUpdate, newForceUpdate)如下:

但问题是新值被分配给状态对象。当我尝试在控制台中打印状态对象值时,它显示如下,我在开始时初始化了哪个空对象。

您能否就如何实现这一目标提供帮助或提供一些指导?

0 投票
2 回答
193 浏览

javascript - useState 更新对象属性

我是 React 的新手。我有一个用于渲染图像的功能组件,以及作为道具传递给组件的图像的一些属性。当渲染图像出错时,我想更新图像源。我还想更新父组件的 state 属性并将其传递回父组件。我不知道如何达到同样的效果。我为实现这一目标奋斗了很长时间。请有人可以帮我解决这个问题。提前谢谢了。

父组件:

子组件:

0 投票
3 回答
3581 浏览

reactjs - 如何在 React JS 中将 const 的值从一个 .js 文件传递​​到另一个文件?

我有两个 .js 文件,其中我定义了两个不同的组件:A.jsB.js。我有一个在B.jsvalue中定义的常量,它使用UseState钩子,所以当我尝试进入A.js时,我想访问B.js中定义的一个常量。为了更清楚,这是我的代码。import B

B.js

js

我想value在 A.js 中访问 B.js 中定义的 const 的值。如何做到这一点?

0 投票
1 回答
69 浏览

javascript - 重新渲染组件时为什么不重置状态?

假设我在功能组件中有以下内容:

const [addComment, setAddComment] = useState(false);

我不明白这个......在重新渲染之前,addComment 的状态已更改为 True 而不是 False,组件的重新渲染不会再次将其更改为 False。我认为一切都在功能组件中重新运行,因此将再次调用 useState(false),并将 addComment 重置为 False。

谢谢

0 投票
2 回答
610 浏览

javascript - 使用 useState React Native 编辑数组

当有人在输入电影标题后单击“加载电影”时,我正在尝试更新一系列电影,但是使用 useState 并执行setFilms(films => [...films, data.results]);(更新数组并将新电影添加到现有的空电影)不起作用。我应该怎么办?这是我的代码:

0 投票
1 回答
74 浏览

react-native - useState 在开关 onValueChange 上落后一步

所以我正在渲染一个必须切换值的开关

这是我的开关

这是我的 toggleSwitch 功能

但是状态总是比切换落后一步控制台日志在它应该为假时显示为真,反之亦然

请问有什么想法吗?谢谢你

0 投票
3 回答
1025 浏览

javascript - 无法使用 React 挂钩访问获取的 Json 数据的对象属性

我无法访问data父组件中的对象属性

从子函数中的 api 获取数据后,我收到一个json数据。.then如果我控制台记录我得到的响应,则在承诺内[object Object]。如果我控制台日志response.pageresponse.results[1].title我得到预期的对象属性,但日志response.results给出[object Object] [object Object]

我还需要父组件中的数据,所以我把数据放在 fetchedData 状态钩子中,并返回它。因此,如果我控制台记录来自函数的数据,则在父组件内部。我得到[object Object]。如果我这样做maindData.dataor mainData.data.page,我会收到一条错误消息,指出无法访问未定义的数据或页面,这与至少我获得该属性的前一种情况不同。

此错误的原因可能是什么?是因为反应钩子总是返回一个数组而不是一个对象吗?如果是这样,那么解决方案可能是什么?


父组件


子函数


来自 TMDB API 的 JSON 数据


0 投票
1 回答
129 浏览

reactjs - React useState 不保存/存储来自 API/SDK 数据的值

这可能是一个多余的问题......我能够使用 useState 存储一个对象并呈现这些值,但是在一些“空闲”时间之后,状态消失了。我正在从 SDK(名字、姓氏...)中获取数据,我可以将此信息用作表单中的占位符。

对于我的使用,我创建了一个原始的多步骤动态表单,位于同一个组件上,用户将在继续下一步之前一次回答 1 个问题。最后一步呈现所有用户的信息,这些信息有时会显示有时会引发错误 user.firstName 未定义可能是由于用户回答问题“空闲”时间所花费的时间。

我应该通过在渲染上丢失这些数据来创建某种 redux 吗???

也许我应该设置一个测试用例,假设在 user.firstName.. 的位置没有这样的数据。

我尝试了以下方法,但仍然出现相同的错误:

我敢肯定这是一个非常非常简单的解决方法,我只是让它太复杂了..

0 投票
3 回答
584 浏览

reactjs - 反应useState,输入值不更新

我希望基于 json 生成输入,所以首先我将它设置为初始状态,然后在子组件中我想修改它的字段,事情是组件没有更新......它渲染一次并且不知道如何使它成为每次输入 onChange 更改其值时都会更新。知道每次输入内容时如何更新输入值吗?

家长

孩子

链接到演示 https://codesandbox.io/s/stoic-mirzakhani-46exz?file=/src/App.js

0 投票
0 回答
135 浏览

reactjs - React useState 无法分配 setState

以上是我如何使用 React 钩子 useState 声明我的状态,并遵循我如何设置相同的状态。但是每次我设置状态时它通常都不会改变并且我得到错误 -

“参数类型 {prediction_index: number, prediction_point_distance: number, prediction_point: *} 不可分配给参数类型 ((prevState: {prediction_index: number, prediction_point_distance: null, prediction_point: null}) => {prediction_index: number, prediction_point_distance: null , prediction_point: null}) | {prediction_index: number, prediction_point_distance: null, prediction_point: null} "

我尝试研究解决方案但失败了。有谁知道为什么会这样?