问题标签 [react-native-tab-view]
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 - React Native:更改后 TabView 不会重新渲染
我正在尝试动态更改 TabView 的内容。基本上,当用户打开应用程序时,屏幕会获取用户帐户并为用户拥有的每种不同货币呈现一个选项卡。(因此,如果用户有 10 个美元帐户,则只会显示一个美元选项卡,但如果他有 1 个美元和 1 个欧元帐户,则会显示一个美元和一个欧元选项卡)。
当用户打开应用程序时一切正常,但是当他创建或删除帐户时,TabView 不会更新,并且如果新状态的货币数量少于以前的状态,则会显示旧状态或崩溃。
错误
我尝试过的事情(我使用了 SceneMap)
reactjs - ReactNative - 强制在 react-native-tab-view 中重新渲染子组件
如何重新渲染react-native-tab-view
使用相同共享子组件的选项卡 ( )?
我有 3 个js
文件;Parent
,TabView
和Item
.
我在父级中有 2 个选项卡;All
并且Downloaded
使用具有不同道具的相同子组件。我可以看到All
包括项目中的所有Downloaded
项目。All
当我更新选项卡上项目的状态时,我想更新选项卡视图中项目的状态Downloaded
。我尝试过传递道具并使用回调,但即使使用方法,我也无法让它更新另一个选项卡上的视图forceUpdate
。
家长:
选项卡视图:
react-native - react-native-reanimated 中的可折叠标题与 React Native 中的多个选项卡
我正在尝试在 React Native 中创建一个带有 2 个选项卡(使用react-native-tab-view
)的屏幕,其布局如下:
我采用的布局是可折叠标题和标签栏的绝对定位,而 FlatList 实际上覆盖了整个屏幕(标题和标签栏都在它的顶部)。为了将可滚动部分放在标签栏之后,我在 FlatList 中添加paddingTop
了一个。contentContainerStyle
这是问题的根源 - 当在选项卡 A 中滚动,然后移动到选项卡 B 时,由于该填充,将会有一个空白区域。
我创建了一个完整的 Expo 项目来展示这个问题:https ://expo.io/@bartzy/collapsible-tab-view-example 这是 Expo 项目的 Github 存储库:https ://github.com/bartzy/CollapsibleTabViewExample
这是示例应用程序的快速视频,显示切换到选项卡 2 后的空白填充空间:
我很感激任何关于如何在选项卡之间移动时消除空白空间的想法,同时保持所需的折叠行为。
reactjs - 反应本机选项卡视图,按切换选项卡不起作用
我在我的应用程序中使用包“react-native-tab-view”。要切换标签,滑动事件工作得很好,但是当我按下我想去的标签时,它不起作用,我不知道为什么......这是我的组件:
用于路线的视图只是: - 带有一些输入的表单 - 而“菜单”之一,是一个“DraggableFlastList”,我试图将其删除,并且选项卡“Press”事件仍然不起作用......
顺便说一句,我的 DraggableFlastList 阻止我在标签上向左/向右滑动(我猜是因为 TouchableOpacity 元素),所以当我在“菜单”标签上时我真的被卡住了......
如果你们有解决方案... :)
javascript - 将状态作为道具传递给 react-native-tab-view 的问题?
我正在使用react-native-tab-view
和渲染两个选项卡。
我在父组件中调用一个 api,将其保存到父状态,然后将保存为prop的状态传递给子选项卡。
但是,我只收到componentDidMount
子选项卡中的初始状态。但是,在渲染中,我能够从 api 接收更新的状态。
我怎样才能得到componentDidMount
孩子的最终数据?
这是我的父组件的方式:
在我的子选项卡组件中,我没有从 api 接收数据,而是从初始空数组接收数据。
子组件:
android - React-native-tab-view:点击选项卡时过渡非常缓慢,但滑动时非常流畅
我正在使用react-native-tab-view作为选项卡,但是当我单击选项卡时,转换非常慢。并且在刷卡时它是平滑和快速的。我做了什么来解决它:-我使所有子组件成为一个 PureComponent,它在索引更改时呈现。这意味着如果内容与以前没有不同,它将不会重新渲染。我交叉检查了组件是否正在重新渲染并且组件没有重新渲染。但是,如果单击选项卡(而不是滑动),它仍然会滞后或过渡缓慢
reactjs - 如何使用 useState 更新多个状态?
我正在使用来自 React-Native 的 TabView,作为其中的一部分,我将两种状态用于两个不同的对象,如下所示。
每当 TabView 获得焦点时,我都会在 useEffect 挂钩中调用一个函数。同样在这个钩子内部,我正在使用新值更改/重新分配这两种状态,如下所示
这是我的返回函数:
问题是一旦第一个状态得到更新,UI 的重新渲染就会发生并导致错误,因为我的 UI 也需要第二个状态的更新状态。我如何通知 React-Native 在两个状态都得到更新之前不要重新渲染?有没有办法这样做,或者我以错误的方式实施?请建议
只是为了解释更多考虑下面的输出:
当我重新启动应用程序时,Routes 和 Array 的值如下:
当转到其他屏幕并选中复选框并来到Tabscreen时,输出如下:
正如我从第二个输出中看到的那样,Routes 的状态已更新为 3(导致重新渲染),但不是 Array 的状态。由于哪个 TabView 正在显示/抛出错误
错误:
react-native - 在 react-native-navigation 中使用 react-native-tab-view
我正在尝试将react-native-tab-view与react-native-navigation V3 一起使用。
到目前为止,我能够以这种方式使用注册组件:
在React.Component
我想要标签视图的页面中:
上述方式有效,但我无法将任何道具传递给 EventsScreen。我更有可能期待这样的设计,
如果我以这种方式尝试,以下不起作用:
使用道具提供React.Component
视图的正确方法是什么?SceneMap
javascript - 我们如何使用 ScrollView 和 FlatList 使标签视图与 react-native-tab-view 保持粘性?
我是 React Native 的新手,正在尝试使用react-native-tab-view
. 我想要实现的就像 Twitter Profile UI。
这是我到目前为止所做的:
我想要实现的是当用户向下滚动时,标签栏将粘在动画标题上。当用户再次向上滚动时,标签会慢慢回到之前的位置。
我已经尝试了很多方法来做到这一点,但我无法很好地解决这个问题。
这是代码
我还遇到了错误:“虚拟化列表永远不应该嵌套在普通的 ScrollView 中”,并找到了类似ListHeaderComponent
或使用的道具onStartShouldSetResponderCapture
。
但我无法找出适当的进展来实施这些,或者准确地说,我不知道下一步该去哪里
请帮我。非常感谢!