Reactjs 滚动视图内部视图不工作反应本机
在这里,我尝试一个简单的代码,但滚动视图是不工作的,如果保持在另一个视图。代码如下:Reactjs 滚动视图内部视图不工作反应本机,reactjs,react-native,react-native-android,Reactjs,React Native,React Native Android,在这里,我尝试一个简单的代码,但滚动视图是不工作的,如果保持在另一个视图。代码如下: return( <View> <Toolbar title={this.props.title}> </Toolbar> <ScrollView> <HomeScreenTop /> <HomeScreenBottom navigator={navigator}/>
return(
<View>
<Toolbar title={this.props.title}>
</Toolbar>
<ScrollView>
<HomeScreenTop />
<HomeScreenBottom navigator={navigator}/>
</ScrollView>
</View>
);
<View><Toolbar/></View>
返回(
);
但如果滚动视图保留为父视图,则它可以完美地工作。代码如下:
return(
<ScrollView>
<Toolbar title={this.props.title}>
</Toolbar>
<HomeScreenTop />
<HomeScreenBottom navigator={navigator}/>
</ScrollView>
);
返回(
);
现在的问题是我不希望我的工具栏上下滚动,我只希望工具栏下面的内容移动。我怎样才能做到这一点
下一个问题:滚动视图是否必须是父视图才能恢复工作?您应该像这样在视图中包装工具栏:
return(
<View>
<Toolbar title={this.props.title}>
</Toolbar>
<ScrollView>
<HomeScreenTop />
<HomeScreenBottom navigator={navigator}/>
</ScrollView>
</View>
);
<View><Toolbar/></View>
将要在scrollview中滚动的组件包装为:
<ScrollView>your expected components...</ScrollView>
您期望的组件。。。
并提供从flex到root的视图,如下所示:
<View style={{flex:1}}>
最后,您的代码将按预期运行。Top
必须具有样式flex:1
,并且
也具有样式中的flexGrow属性,flex对我不起作用
<ScrollView contentContainerStyle={{ flexGrow: 1 }}>
...
</ScrollView>
...
如果您使用的是来自本机的
,并且希望滚动
然后使用KeyboardawarScrollView
<KeyboardAwaareScrollView enableOnAndroid={true}>
.
.
</KeyboardAwareScrollView>
.
.
这将在Android上运行更新2020-02:它将与React.Fragment
和
或
和
一起运行。所以试试这个
return(
<>
<Toolbar title={this.props.title}>
</Toolbar>
<ScrollView>
<HomeScreenTop />
<HomeScreenBottom navigator={navigator}/>
</ScrollView>
</>
);
返回(
);
如果您使用的是位置:“绝对”,请将其删除并重试。
你可以试试
<SafeAreaView>
<ScrollView>
</ScrollView>
</SafeAreaView>
使用react片段而不是视图来包装您的滚动视图它对我很有用
<>
<ScrollView>
..........
</ScrollView>
</>
..........
对我来说,用TouchableWithoutFeedback包装的滚动视图有时会导致滚动视图无法正常工作。这让我抓狂,因为我像大家建议的那样添加了和,但没有任何效果。然后,我关闭终端,然后使用以下命令再次重建应用程序:
npx react-native run-android
然后,它开始工作。我希望这能挽救某人的理智:)
仅供参考,仅仅点击r(或刷新)也不起作用。我必须重建它。别忘了Minheightroot视图上没有flex:1也给我带来了类似的问题。将flex:1添加到根视图和bam!滚动工作。真棒的解决方案。感谢you@ChiranjhiviGhimire非常感谢你。您保存了我的生命我正在渲染具有scrollview的子组件,父组件也具有scrollview。我无法妥善处理这件事。你能帮我吗?对我来说什么都不做。这对我来说真的不管用。请你看看这里好吗?从“contentContainerStyle”中删除flex:1
,它会中断滚动。并添加flexGrow:1
。添加后,我无法在IOS和Android上滚动。这对我来说真的不起作用。请你看看这里好吗?这对我来说真的不管用。请你看看这里好吗?这也给我带来了麻烦。很高兴这对查莉莎有帮助