问题标签 [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.

0 投票
1 回答
2871 浏览

javascript - React Native:更改后 TabView 不会重新渲染

我正在尝试动态更改 TabView 的内容。基本上,当用户打开应用程序时,屏幕会获取用户帐户并为用户拥有的每种不同货币呈现一个选项卡。(因此,如果用户有 10 个美元帐户,则只会显示一个美元选项卡,但如果他有 1 个美元和 1 个欧元帐户,则会显示一个美元和一个欧元选项卡)。

当用户打开应用程序时一切正常,但是当他创建或删除帐户时,TabView 不会更新,并且如果新状态的货币数量少于以前的状态,则会显示旧状态或崩溃。

错误

我尝试过的事情(我使用了 SceneMap)

0 投票
0 回答
639 浏览

javascript - 切换到另一个标签时如何停止滚动滑动?

环境:

问题:

切换到另一个标签时如何停止滚动滑动?

例子:

当我滚动内容并将手指从屏幕上移开时,内容继续滚动,即滑动。我需要当我切换到另一个选项卡时,此滚动幻灯片会立即停止。也就是说,该选项卡中的内容没有在后台滚动。

在此处输入图像描述

应用程序.js

0 投票
0 回答
930 浏览

reactjs - ReactNative - 强制在 react-native-tab-view 中重新渲染子组件

如何重新渲染react-native-tab-view使用相同共享子组件的选项卡 ( )?

我有 3 个js文件;Parent,TabViewItem.

我在父级中有 2 个选项卡;All并且Downloaded使用具有不同道具的相同子组件。我可以看到All包括项目中的所有Downloaded项目。All当我更新选项卡上项目的状态时,我想更新选项卡视图中项目的状态Downloaded。我尝试过传递道具并使用回调,但即使使用方法,我也无法让它更新另一个选项卡上的视图forceUpdate

家长:

选项卡视图:

0 投票
2 回答
3065 浏览

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 后的空白填充空间: 在此处输入图像描述

我很感激任何关于如何在选项卡之间移动时消除空白空间的想法,同时保持所需的折叠行为。

0 投票
3 回答
3019 浏览

reactjs - 反应本机选项卡视图,按切换选项卡不起作用

我在我的应用程序中使用包“react-native-tab-view”。要切换标签,滑动事件工作得很好,但是当我按下我想去的标签时,它不起作用,我不知道为什么......这是我的组件:

用于路线的视图只是: - 带有一些输入的表单 - 而“菜单”之一,是一个“DraggableFlastList”,我试图将其删除,并且选项卡“Press”事件仍然不起作用......

顺便说一句,我的 DraggableFlastList 阻止我在标签上向左/向右滑动(我猜是因为 TouchableOpacity 元素),所以当我在“菜单”标签上时我真的被卡住了......

如果你们有解决方案... :)

0 投票
2 回答
2675 浏览

javascript - 将状态作为道具传递给 react-native-tab-view 的问题?

我正在使用react-native-tab-view和渲染两个选项卡。

我在父组件中调用一个 api,将其保存到父状态,然后将保存为prop的状态传递给子选项卡。

但是,我只收到componentDidMount子选项卡中的初始状态。但是,在渲染中,我能够从 api 接收更新的状态。

我怎样才能得到componentDidMount孩子的最终数据?

这是我的父组件的方式:

在我的子选项卡组件中,我没有从 api 接收数据,而是从初始空数组接收数据。

子组件:

0 投票
0 回答
1554 浏览

android - React-native-tab-view:点击选项卡时过渡非常缓慢,但滑动时非常流畅

我正在使用react-native-tab-view作为选项卡,但是当我单击选项卡时,转换非常慢。并且在刷卡时它是平滑和快速的。我做了什么来解决它:-我使所有子组件成为一个 PureComponent,它在索引更改时呈现。这意味着如果内容与以前没有不同,它将不会重新渲染。我交叉检查了组件是否正在重新渲染并且组件没有重新渲染。但是,如果单击选项卡(而不是滑动),它仍然会滞后或过渡缓慢

0 投票
2 回答
581 浏览

reactjs - 如何使用 useState 更新多个状态?

我正在使用来自 React-Native 的 TabView,作为其中的一部分,我将两种状态用于两个不同的对象,如下所示。

每当 TabView 获得焦点时,我都会在 useEffect 挂钩中调用一个函数。同样在这个钩子内部,我正在使用新值更改/重新分配这两种状态,如下所示

这是我的返回函数:

问题是一旦第一个状态得到更新,UI 的重新渲染就会发生并导致错误,因为我的 UI 也需要第二个状态的更新状态。我如何通知 React-Native 在两个状态都得到更新之前不要重新渲染?有没有办法这样做,或者我以错误的方式实施?请建议

只是为了解释更多考虑下面的输出:

当我重新启动应用程序时,Routes 和 Array 的值如下:

当转到其他屏幕并选中复选框并来到Tabscreen时,输出如下:

正如我从第二个输出中看到的那样,Routes 的状态已更新为 3(导致重新渲染),但不是 Array 的状态。由于哪个 TabView 正在显示/抛出错误

错误:

0 投票
2 回答
2158 浏览

react-native - 在 react-native-navigation 中使用 react-native-tab-view

我正在尝试将react-native-tab-viewreact-native-navigation V3 一起使用。

到目前为止,我能够以这种方式使用注册组件:

React.Component我想要标签视图的页面中:

上述方式有效,但我无法将任何道具传递给 EventsScreen。我更有可能期待这样的设计,

如果我以这种方式尝试,以下不起作用:

使用道具提供React.Component视图的正确方法是什么?SceneMap

0 投票
0 回答
817 浏览

javascript - 我们如何使用 ScrollView 和 FlatList 使标签视图与 react-native-tab-view 保持粘性?

我是 React Native 的新手,正在尝试使用react-native-tab-view. 我想要实现的就像 Twitter Profile UI。

这是我到目前为止所做的:

粘性标题

我想要实现的是当用户向下滚动时,标签栏将粘在动画标题上。当用户再次向上滚动时,标签会慢慢回到之前的位置。

我已经尝试了很多方法来做到这一点,但我无法很好地解决这个问题。

这是代码

我还遇到了错误:“虚拟化列表永远不应该嵌套在普通的 ScrollView 中”,并找到了类似ListHeaderComponent或使用的道具onStartShouldSetResponderCapture

但我无法找出适当的进展来实施这些,或者准确地说,我不知道下一步该去哪里

请帮我。非常感谢!