问题标签 [setstate]
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 - setState 未完成
在未触发 API 调用 setState 之后。第一个 console.log 语句按预期工作并显示所有正确的数据,但从未触发 setState 的回调并且不会更新状态。我让它像这样坐了10多分钟。
我没有控制台错误。
奇怪的是,当我在应用程序的另一部分工作时,它神奇地又开始工作了,我不知道为什么。我错过了一些明显的东西吗?
编辑:
console.log()
有趣的是,如果我从回调中删除第二个setState()
并简单地将它放在调用它之后setStat()
仍然没有触发。
react-native - React Native - 第二次挂载时出现 setState 警告
请检查以下代码:
信息:SEARCH_TEAMS Event
由另一个Component
.
如果我第一次渲染组件一切正常。但是,如果我弹出页面并在此页面上再次导航,我会收到以下警告:
警告:setState(…) 只能更新挂载或挂载的组件…</p>
javascript - this.setState 不重新渲染视图 ReactJS 和 Ruby on Rails
我有一个带有两个 reactJS 组件(不是父/子)的 rails 应用程序,它们当前通过全局事件 Pub/Sub 系统进行通信。
但是,当我跑步时,this.setState({ items: this.props.items })
我收到了消息Cannot read property 'items' of undefined
。
人们可以就我为什么会收到此错误提供任何帮助将不胜感激。
我的基本设置是:
BasketContainer - 订阅了两个事件
ProductItem - 添加到购物篮事件发布者
BasketItem - 从篮子发布者中删除
javascript - 在 Android 上反应原生 setState() 和动画
我正在为我的 react-native 应用程序开发类似“toast”的组件。它适用于 iOS 模拟器,但它不会在我的 android 设备(Galaxy Note 2)上更新动画之前的状态。这是我的组件的渲染器:
this.animatedValue 在构造函数上是这样创建的:
而且我有一个 show 方法可以更新状态this.setState
以设置消息和颜色,在开始动画之前,Animated.timing
我在动画结束时有一个回调,它会启动超时以隐藏 toast,正如我所说的在 iOS 上一切正常,但是在 android 上,第一次显示 toast 时没有文本(我初始化message
为空字符串),第二次应该显示它,显示应该显示的最后一个 toast 的消息和颜色。前任。您登录失败,我在 adb 控制台上看到正在启动失败的登录消息,但我仍然看到一个带有绿色的空消息,然后我进行了正确登录,我在 adb 控制台中看到了成功登录消息正在启动,但我仍然看到带有红色的失败消息:\。
我认为它可能是在动画开始之前没有完全更新的状态更改(有时我已经看到带有一条消息的 toast 启动,并且在动画的中间/结束时它突然改变了颜色和文本),所以我'我首先尝试在setState
回调上启动动画,据说是在状态完全改变并渲染组件后调用的,但我仍然看到空消息 toast,讽刺的是,就在动画启动之前,我在我的 adb 控制台上看到记录的新状态并且已正确更新,但未呈现:\,我还尝试在启动显示动画之前在setState
with this.forceUpdate
all 之后强制更新,但没有成功,我仍然收到空消息并且仍然在控制台日志中看到正确的状态: \,我什至尝试在setState
and之后设置超时forceUpdate
在动画之前给反应环境时间来渲染组件或其他东西,但我仍然得到空消息和正确的状态显示在我的控制台日志 D 上:
我知道这一定是显而易见或愚蠢的,但我就是想不通:(,我已经使用 react native 2~3 周了,我知道 javascript 很长时间了,我想我明白了对 react native 组件生命周期的了解不多,但仅此而已,我还是 react native 的新手,所以任何帮助将不胜感激,谢谢 xD。
javascript - JavaScript | ReactJS:父状态更改不触发子道具更新
父 setState 触发器render()
,但子组件的道具是静态的
这很简单。我有<Parent />
一个状态属性和一个处理程序。父级将属性和处理程序都传递给子级。
孩子有一个按钮并调用它自己的处理程序,该处理程序包装了父母的处理程序。一个布尔值 ,isNew
被传递给 Parent - Parent 调用this.setState({ isNew: isNew })
。
Parent 总是调用render
并isNew
在 Parent 的 HTML 中输出显示一切都是正确的。但是,<Child isNew={this.state.isNew} />
从不输出正确的值this.props.isNew
——它总是在 ParentgetInitialProps
方法内部的 Parent 中初始化什么值。
我刚进入这个项目,但我不相信我们正在实施 Flux 或 Redux。我的假设是,开箱即用的 React应该重新渲染其 props 设置为 parent 的 state 的所有孩子。
换句话说,如果我有以下情况:
当父级 [from a state-change] 重新渲染时,所有依赖父级状态的子级也应该重新渲染,同时将父级的新状态封装在其 props 中;假设一个孩子道具<Child property={this.state.property} />
我在这里完全错过了一些基本的东西吗?
请让我明白这一点:)
谢谢
reactjs - ReactJS:警告:setState(...):在现有状态转换期间无法更新
我正在尝试从我的渲染视图重构以下代码:
到绑定在构造函数中的版本。原因是渲染视图中的绑定会给我带来性能问题,尤其是在低端手机上。
我创建了以下代码,但我不断收到以下错误(很多)。看起来应用程序进入了循环:
下面是我使用的代码:
react-native - React-Native error this.setState is not a function
I'm using below lib to implement a callback (onSuccess, onError) for every ApiRequest. But I have a problem when update state when event is trigged. I tried to remove all stuffs just keep the base logic. I don't know why it error. Lib: https://www.npmjs.com/package/react-native-simple-events
Below is my code
ApiRequest.js
Login.js
let me know if you need more information
reactjs - 响应数组中的更改状态(for循环)
我有一个有航班的州,我有一个滑块来更改最高价格以更改航班元素的可见性。
这段代码在状态的根目录中添加了一个状态为 true 的未定义字段。除了使用计算字段之外,我找不到任何最佳实践。但我也不能让计算场工作..
有人可以帮我吗?
javascript - React setState 在第一次尝试时不起作用,但在第二次尝试时起作用?
我在handleSelection
单击按钮时调用了该方法,但是,如果我在状态未设置时单击该按钮this.setState({selectedFoods: newSelections});
。该方法中的其他所有内容都正确执行(正如我的各种 console.logs 告诉我的那样:))。当第二次单击该按钮时,该方法中的所有内容都会再次执行并且可以setState
正常工作。
为什么除了我的setState
功能之外的一切都在第一次正确执行?为什么它在第二次点击时起作用?