问题标签 [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 - 如何根据其他状态更改更新一个状态项?
我正在使用反应上下文来管理某些元素的显示/隐藏,因为这些元素取决于多个服务器调用的返回数据。根据其他状态更改更新上下文状态的正确方法是什么?
这是我尝试过的,但它没有工作,因为它变成了一个无限循环。所有prevState
项目都包含null
或来自服务器的返回数据。
javascript - 如何将数据以及子组件发送到组件 - JavaScript - 反应
上面的代码是有效的,我用 Scroll 组件包装 MessageList 组件,问题和答案将被 MessageList 组件作为道具接收。好的!
现在,如果我还想向 Scroll 组件发送数据,例如:
请注意,我正在尝试将 endTime 传递给 Scroll 组件,但它不起作用。如何解决这个问题?
reactjs - 反应动态搜索/过滤器返回未定义
我正在尝试创建一个可以按标题或日期排序的动态搜索。现在我的代码专注于标题,一旦我开始工作,我将复制它以使日期也工作。但是,现在,我的过滤方法不起作用,我不知道如何在不破坏地图功能的情况下修复它。
我目前收到"Cannot read property 'toLowerCase' of undefined"。它指的是newsItem.title
,但我不确定如何修复它。
reactjs - ReactJS 与 Tabs 一起使用时无法更新状态
我有一个带有 3 个选项卡的反应组件,每个选项卡都包含一个数据表,该数据表将根据活动选项卡填充 API 调用结果。所以每次都会有一个参数,我通过 API 调用传递并相应地显示数据。
这很好用,当我切换选项卡时,我正在获取数据,但是当我尝试从数据表中搜索然后单击另一个选项卡时,我收到错误为-
无法对未安装的组件执行 React 状态更新。这是一个空操作,但它表明您的应用程序中存在内存泄漏。要修复,请取消 componentWillUnmount 方法中的所有订阅和异步任务。
下面是我的示例代码:
组件.jsx
我尝试使用 componentWillUnmount 进行更新,但没有解决。
我在 index.html 中初始化数据表。
那么可能的解决方案是什么。
reactjs - 在表单提交后使用 ant design 在 react 中设置表单文本字段值
提交后我需要更改表单文本字段的值。我使用https://ant.design/components/form/ ant design 创建表单。
我在表单 onSubmit 方法中尝试了以下代码。
这里的 count 是 getFieldDecorator 的 id。但是当我检查如下时,计数字段值不会更改为 pasId 变量的值。
console.log(values.count);
那么在表单值提交到数据库后我可能会出错的地方以及如何设置表单字段值?
reactjs - 将表单状态保持在应用程序状态的 React 表单验证问题
我的注册表单中有recatpcha。该组件具有以下状态:
在提交表单之前,我会验证所有详细信息并检查是否recaptcha
已使用if(recaptcha)
.
但是任何技术人员都可以去 React 开发工具并标记recaptcha
为 true,然后提交表单。他们只是通过了recaptcha验证。此外,对于其他状态(例如isAuthenticated
),他们可以从开发工具更改状态。
这个需要怎么处理?
reactjs - ReactJS 组件状态没有按预期改变
我创建了一个Container
类和一个InnerElement
类。Container
包裹InnerElement
s 的地方。有必要InnerElement
在给定时间只显示一个。
当我更改为另一个InnerElement
. 有趣的是,当我创建console.log
它时,它会显示更改的元素,但不会呈现。有人可以给我一个提示,提前谢谢!
Container
班级:
这里的InnerElement
类:
这里是我Container
的InnerElement
电话:
我还发现,当我在InnerElement this.props.name
而不是状态下使用时,它可以工作。
reactjs - 当状态数组中的任何值被修改时,ReactJS 组件状态不会更新
在我的 React 组件中,我希望我的状态自动更新而无需重新加载页面。我正在使用 lodash.iseqaual 方法来比较状态变化,但这不会更新状态。
下面是我的组件:
lodash.isequal
incomponentDidUpdate()
方法没有更新我的状态。
我还在componentDidUpdate中尝试了以下逻辑:
但这会进入无限循环,即使在没有变化之后也会增加 API 调用。
我怎样才能做到这一点?
提前致谢!
**需要等待这个问题的解决方案。
更新:
从所有答案中,我想我应该用示例来解释。因此,当我进行 API 调用并更新状态activeData
时,它更新为:
例如,如果我将名称字段从更新为ABC
返回ABCD
的结果将是:
然后组件中的名称值应自动从 ABC 更新为 ABCD,无需重新加载页面。
这不会发生在任何一个shouldComponentUpdate
或通过按照建议更改我的 lodash 语法的情况下。
目录结构:
另外我会告诉我的组件是如何呈现的:
详细信息.jsx
主页.js
应用程序.js