问题标签 [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.
reactjs - 如何将 state 和 setState 作为参数传递给其他函数?
我已经在全局范围内定义了初始状态对象,如下所示。
现在在 useEffect() 方法中,我调用了一些函数,它将执行一些后端 api 调用,并根据我需要设置状态对象的响应,我尝试如下。
- 这是传递给函数以设置状态的正确方法吗?
现在里面的代码checkConfigStorage(setNewConfig, newConfigState, setNewForceUpdate, newForceUpdate)
如下:
但问题是新值被分配给状态对象。当我尝试在控制台中打印状态对象值时,它显示如下,我在开始时初始化了哪个空对象。
您能否就如何实现这一目标提供帮助或提供一些指导?
javascript - useState 更新对象属性
我是 React 的新手。我有一个用于渲染图像的功能组件,以及作为道具传递给组件的图像的一些属性。当渲染图像出错时,我想更新图像源。我还想更新父组件的 state 属性并将其传递回父组件。我不知道如何达到同样的效果。我为实现这一目标奋斗了很长时间。请有人可以帮我解决这个问题。提前谢谢了。
父组件:
子组件:
reactjs - 如何在 React JS 中将 const 的值从一个 .js 文件传递到另一个文件?
我有两个 .js 文件,其中我定义了两个不同的组件:A.js和B.js。我有一个在B.jsvalue
中定义的常量,它使用UseState钩子,所以当我尝试进入A.js时,我想访问B.js中定义的一个常量。为了更清楚,这是我的代码。import B
B.js
js
我想value
在 A.js 中访问 B.js 中定义的 const 的值。如何做到这一点?
javascript - 重新渲染组件时为什么不重置状态?
假设我在功能组件中有以下内容:
const [addComment, setAddComment] = useState(false);
我不明白这个......在重新渲染之前,addComment 的状态已更改为 True 而不是 False,组件的重新渲染不会再次将其更改为 False。我认为一切都在功能组件中重新运行,因此将再次调用 useState(false),并将 addComment 重置为 False。
谢谢
javascript - 使用 useState React Native 编辑数组
当有人在输入电影标题后单击“加载电影”时,我正在尝试更新一系列电影,但是使用 useState 并执行setFilms(films => [...films, data.results]);
(更新数组并将新电影添加到现有的空电影)不起作用。我应该怎么办?这是我的代码:
react-native - useState 在开关 onValueChange 上落后一步
所以我正在渲染一个必须切换值的开关
这是我的开关
这是我的 toggleSwitch 功能
但是状态总是比切换落后一步控制台日志在它应该为假时显示为真,反之亦然
请问有什么想法吗?谢谢你
javascript - 无法使用 React 挂钩访问获取的 Json 数据的对象属性
我无法访问data
父组件中的对象属性
从子函数中的 api 获取数据后,我收到一个json
数据。.then
如果我控制台记录我得到的响应,则在承诺内[object Object]。如果我控制台日志response.page
或response.results[1].title
我得到预期的对象属性,但日志response.results
给出[object Object] [object Object]。
我还需要父组件中的数据,所以我把数据放在 fetchedData 状态钩子中,并返回它。因此,如果我控制台记录来自函数的数据,则在父组件内部。我得到[object Object]。如果我这样做maindData.data
or mainData.data.page
,我会收到一条错误消息,指出无法访问未定义的数据或页面,这与至少我获得该属性的前一种情况不同。
此错误的原因可能是什么?是因为反应钩子总是返回一个数组而不是一个对象吗?如果是这样,那么解决方案可能是什么?
父组件
子函数
来自 TMDB API 的 JSON 数据
reactjs - React useState 不保存/存储来自 API/SDK 数据的值
这可能是一个多余的问题......我能够使用 useState 存储一个对象并呈现这些值,但是在一些“空闲”时间之后,状态消失了。我正在从 SDK(名字、姓氏...)中获取数据,我可以将此信息用作表单中的占位符。
对于我的使用,我创建了一个原始的多步骤动态表单,位于同一个组件上,用户将在继续下一步之前一次回答 1 个问题。最后一步呈现所有用户的信息,这些信息有时会显示有时会引发错误 user.firstName 未定义可能是由于用户回答问题“空闲”时间所花费的时间。
我应该通过在渲染上丢失这些数据来创建某种 redux 吗???
也许我应该设置一个测试用例,假设在 user.firstName.. 的位置没有这样的数据。
我尝试了以下方法,但仍然出现相同的错误:
我敢肯定这是一个非常非常简单的解决方法,我只是让它太复杂了..
reactjs - 反应useState,输入值不更新
我希望基于 json 生成输入,所以首先我将它设置为初始状态,然后在子组件中我想修改它的字段,事情是组件没有更新......它渲染一次并且不知道如何使它成为每次输入 onChange 更改其值时都会更新。知道每次输入内容时如何更新输入值吗?
家长
孩子
链接到演示 https://codesandbox.io/s/stoic-mirzakhani-46exz?file=/src/App.js
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} "
我尝试研究解决方案但失败了。有谁知道为什么会这样?