问题标签 [react-native-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 - 当我点击 navigationOptions 中的按钮时,为什么没有正确设置 React Native 状态?
我有一个 React Native 屏幕/组件,其中导航/标题的左上角有一个菜单按钮。当该按钮被点击时,我想在屏幕/组件本身中创建一个菜单来切换打开和关闭。
不管出于什么原因,按照我现在的设置方式,第一次点击菜单按钮时,菜单会打开,但在那之后,无论我点击多少次按钮,它总是保持打开状态并且不会关闭. 似乎状态没有正确更新或其他东西。
这是我用于菜单切换的基本代码:
我认为这可能是一些关闭问题,但我真的不确定。我添加了一个console.log
to toggleMenu
,并且该showMenu
值始终是false
当我进入该函数时,然后将其设置为true
,因此菜单不会关闭。
为什么showMenu
值总是false
,即使在我将setShowMenu
其设置为true
之后也是如此。有人有想法么?谢谢你。
typescript - React Native:如何从具有嵌套 json 数组的状态中检索数据并映射该状态以获取具有给定 id 的特定值
我有一个反应本机选择器,它有一组对象,我从我的 API 中获取并保存到属性下的状态。 这是我获取的数据的屏幕截图
当我选择属性下拉列表时,我需要从 _id 中找到数组中的正确对象。我需要使用 Javascript 逻辑来完成此操作,而无需再次调用我的服务器。这是我在下拉菜单中的代码
我需要在这个函数中编写我的代码
react-native - 在 React 状态下更新数组对象
我有一个状态,
我想用事件的 id 更新特定座位号的值。
react-native - 在 React Native 中操作全局状态变量
我对本机反应和开发一个非常简单的游戏还很陌生。该游戏通过使用底部标签导航由三个不同的标签组成。
这是我用于此游戏的不同选项卡。
屏幕一: https ://i.stack.imgur.com/R6TNm.png
屏幕 2: https ://i.stack.imgur.com/o21rh.png
屏幕 3: https ://i.stack.imgur.com/argoi.png
我的主要问题是:如果有人按下 Screen2 中的 Weapon1 按钮,它将调用在我的 Game.js 文件中定义的 WeaponOne() 函数。它应该将我的全局状态变量enemyBar 的当前状态更新为enemyBar =enemyBar - 0.1 并相应地更新屏幕1 和2 中的UI。同样,如果用户在屏幕3 中按下QuickFix,它将调用quickFix() 并更改状态变量从 hpBar 到 hpBar = hpBar + 0.1 并更新屏幕 1 和 3 的 UI。我将如何操作这些全局状态变量?
在此先感谢您的帮助。
全局状态参考:React Native 中的全局状态
全球.js
游戏.js
react-native - 使用 onViewableItemsChanged 反应原生 FlatList 的意外行为
我正在尝试使用功能组件实现 FlatList onViewableItemsChanged。我想在用户滚动时更改状态。最初,我写了这个
但我遇到了一个错误
不变违规:不支持动态更改 onViewableItemsChanged
任何状态更改时的 FlatList ScrollView 错误 - 不变量违规:不支持动态更改 onViewableItemsChanged
这个答案建议使用 useRef 来解决这个问题所以,我把代码改成了这个。
但现在的问题是
setActiveAlphabet(viewableItems.viewableItems[0].index)
不工作,它没有效果。
react-native - 在上下文中设置对象状态
我是 React 和 React Native 的新手,我正在尝试理解一些事情。我希望有人可以向我解释我在这里做错了什么。我有一个对象,我试图用 onChangeText 设置自变量的值。该对象通过
在表单域中
并且在上下文文件中
我正在尝试更新此状态
我希望这足以分析。任何帮助,将不胜感激
react-native - 为什么导航到主页时登录页面不重置状态?
我正在使用 react-navigation,当用户登录时,它会重定向到主屏幕。但是,当我返回登录时,我可以看到状态未重置。基本上,它保持状态与我导航到主页时离开的状态相同。
案例说明:点击登录时,设置loading
为true并进入home
屏幕。在Home
屏幕中单击Back
重定向到Login
,其中loading
仍设置为 True。
这似乎很奇怪,从来没有经历过。我认为反应设置负载状态。
reactjs - TextInput onChangeText 设置 useState 值在 React Native Testing with Enzyme 中不起作用
如果 TextInput 等于“”,我想测试用户不应该导航到任何其他屏幕。
我试图让控制台日志更正确地理解,但现在的问题是,在input.simulate("changeText", "any@email.com");
正确发生之后,控制台日志说来自测试的传入值是“any@email.com”,但是在setValue(text);
发生之后,console.log 说 useState 值是“ ”。
为什么状态没有改变?我需要用 更新包装器.update()
吗?
这是我的 React Native 代码:
控制台日志:
测试代码:
react-native - 在文本输入中自动完成后,React Native 不会更新状态
我正在使用以下代码开发消息传递应用程序:
在 iOS 模拟器上,当我输入一些没有自动完成的文本并按下发送按钮时,bodyText 会按预期更新。如果我对最后一个单词使用自动完成并按 Enter,则在自动完成之前使用 inputText 更新 bodyText。我怎样才能解决这个问题?
reactjs - React Native:PanGestureHandler 在更改状态后中断
我在一个音乐播放器应用程序的 PanGestureHandler 中包装了一个 FlatList。PanGestureHandler 允许用户在播放器上向下滑动以将其最小化,Flatlist 显示与用户可以左右滑动的歌曲相对应的图像轮播。这很好用,但是一旦我通过调用 onMomentumScrollEnd=scrollToActiveIndex() 在歌曲组件内的歌曲(FlatList 项目)之间移动后尝试更改状态,PanGestureHandler 就会崩溃。更改状态后,PanGestureHandler 停止响应(无法向下滑动),嵌套的 Flatlist 也不允许在项目之间滑动。请帮助我了解如何解决此问题。谢谢 :)