问题标签 [react-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.
javascript - 无法在 socket.io 回调 React.js 中调用 setState
我面临以下问题:
在处理状态的反应组件内部,有一个与 socket.io 的 websocket 连接。每当我收到一些事件时,我应该做一些操作并更新组件的状态。例子:
问题是出现以下消息:
但我没有在任何地方使用componentWillUnmount
方法。并且该组件未卸载。
如果我替换aMethod
withthis.props.aMethod()
并更新将起作用的父组件的状态( aMethod 存在于两个组件中)。问题是这个组件很大,因为它是一个容器,将所有状态移动到父级并使用道具会导致大量重写..
这让我想到应用程序的反应路线可能存在一些问题。
父组件具有以下路线(概念上):
我使用render
而不是component
因为我需要将一些方法作为道具传递。React 和 react-router-dom 是 16.x 和 5.0.0 的最新版本。
是否有可能以某种方式“冻结”组件的第一个实例,然后 url 发生变化,我无法再更新状态?如果我在控制台中记录一条消息,componentWillUnmount()
我看不到它正在卸载。
任何想法将不胜感激!
随意问的问题。
javascript - React Hooks:状态总是设置回初始值
切换到 react hooks 并第一次使用它们。我的状态似乎总是被设置回我传递它的初始值(0)。代码是让页面自动向下和向上滚动。该页面只是用于显示各种文件类型的练习。发生的情况是 scrollDir 变量将切换为设置为 1 或 -1 和 0。因此控制台将显示 1,0,1,0,1,0,1,0 等...我如何获得状态在更新期间停留?
javascript - 尝试从子状态重定向到父状态时超出最大深度
我正在尝试使用将数据从子状态传递到父状态
我必须声明ProjectList和Header,标题(网站标题)状态是父级的子组件,标题上有链接,如果它单击链接,那么我通过该链接获取一个ID,然后将该ID传递给通过重定向。
但它给了我超出最大部门的错误。我想从标题传递到项目列表的 id 也来自不是项目列表子项的其他状态。
项目列表状态:
类 ProjectList 扩展 React.Component{
}
标题状态:
}
this.props.match.params.id 这个 id 我想从 header 中获取,因为我试图从 header 中传递。项目列表中的 this.props.match.params.id 可以来自 Header 或其他状态。请需要建议如何将此 id 从标题传递到项目列表以及 id 可以来自其他状态到项目。
javascript - 使用折叠时组件本地状态未获取状态
我是新手react.js
。在这里,我有一个按钮,单击该按钮会打开一个下拉菜单。
所以,在这里我想做的是有三个按钮,如果其中任何一个被折叠,其他不应该是。所以,我为每个崩溃保持了三个状态。现在,状态发生了变化,但是当我第一次单击时,状态并没有发生变化。
那么,我做错了什么?
谁能帮我这个?
reactjs - 将设置按钮反应为禁用状态
我在一个基于 React 类的组件和我的状态的一个属性中,如下所示:
我有一个从输入组件触发的 inputChangedHandler:
还有一个 disabledSubmitHandler 应该从我的 inputChangedHandler 中调用:
该道具设置在我的 JSX 中的按钮组件上,如下所示:
这不起作用,但我不确定发生了什么?
javascript - 尝试在 React 中使用状态存储数据以便以后可以访问时遇到问题
我正在编写一个 React 应用程序,通过搜索(表单)从 API 中提取特定数据,存储它并使用过滤器操作它等等。到目前为止,我已经提取了数据并显示了它,但是我无法弄清楚如何使用状态来存储它,以便我可以访问它而无需进行全新的数据提取。
到目前为止,我已经尝试返回要存储在函数内部本地列表中的 API 数据,但是我拥有零访问权限来继续操作它。我想我需要将名称和年龄存储在状态中的“列表”,然后进行访问,但我就是不知道该怎么做。任何帮助将不胜感激。
reactjs - 更新嵌套数组状态 reactjs
无法在反应状态下处理嵌套数组,这里我正在尝试我需要在 this.state.form.contentFormArr 中推送值
我通过迭代 this.state.form 数组制作了多个表单,现在我需要当用户单击任何表单框按钮以添加更多字段时,它将推送特定索引数组中的值,然后它将迭代更多字段。
reactjs - setState() 在两个 setState() 运行时阻塞 UI
这是我的componentDidMount()
方法:
在上述方法中,每 100 毫秒的状态都在变化。我在我的render()
方法中使用了该状态,如下所示:
现在,问题是当我试图打开侧边菜单时,它没有打开,我的意思是它打开但挂得太多了。我的整个应用程序挂得太多了。
我认为这是因为以下方法:
请注意,我正在更新另一个名为 的状态isOpenLeftMenu
,它可能在我更新状态期间被阻止x
。
谁能告诉我这里出了什么问题?
reactjs - TypeError:无法读取未定义 React 的属性“状态”,传递给其他组件的状态未定义
当用户输入关键字时,我有一个搜索栏,我通过使用 fetch 对我的后端服务进行 api 调用来获得相关结果。我正在将来自后端的响应存储在我的状态中。下面是 SearchBarComponent 的代码:
在此之后,我想将我的结果传递给我的 SearchResultsComponet,以便我可以以类似谷歌的方式呈现结果。这就是我将传递的状态收集到我的 SearchResultComponent 中的方式:
我在这条线上遇到了错误,results: this.props.location.state.data
我无法弄清楚出了什么问题。任何帮助深表感谢。我正在通过我的 index.js 文件处理路由,如下所示:
reactjs - 为什么我的 props 在我更新状态之前就更新了?
我正在尝试更改GrandChild 类中的输入和Parent 类*中的 Bootstrap Table 。用户将更改 **GrandChild 类中的输入,然后将其保存,因此更改可以在Parent 类的 Bootstrap 表中看到;但是,在调用 .onChange (这是我的保存)之前,我看到了这种奇怪的行为,我的道具正在发生变化。我相信这会导致我的输入无法正确保存或设置状态。
向下传递的数据:GrandParent => Parent => Child => GrandChild
它发生在Child 类的handleSave()函数中:
子类的this.props.onChange被发送回父类:
然后Parent 类的 this.props.onChange*被发送到GrandParent Class:
这是GrandChild 的课程:
我预计 dataLists 的 console.logs() 会有所不同;但是,它们甚至在运行 this.props.onChange("dataList", dataList);之前就给出了相同的对象。
由于 setState 是异步的,第三个 dataList console.log 可能与状态 dataList 相同。