【问题标题】:ScrollView for only part of a component? (React Native)ScrollView 仅适用于组件的一部分? (反应原生)
【发布时间】:2020-03-19 19:55:57
【问题描述】:

(ReactNative 新手)

我目前有一个 React Native 应用程序,它的组件具有以下(粗略)结构:

    <View>
      <View>
         <TextInput />
         <Text />
      </View>
      <View>
         <Image />
         <Button />
      </View>
    </View>

因此,在该父视图中,我们将子视图称为 View1View2。我可以很容易地将父视图替换为 ScrollView 并使整个组件可滚动。但是,如果我只希望 View2 可滚动而 View1 保持原位怎么办?我的意思是垂直滚动,而不是水平滚动/分页。

我该怎么做?为 ScrollView 切换 View2 不起作用。我还在寻找不必将 View1 和 View2 拆分为不同组件的解决方案,因为目前存在依赖于两者之间共享状态的复杂机制。

有什么建议吗?如有必要,很高兴提供一些实际代码,但我相信以上内容应该足以让您感受一下。

提前致谢。

【问题讨论】:

    标签: android react-native react-native-android react-native-ios


    【解决方案1】:

    这可以使用嵌套组件来解决。

    正如您所注意到的,您可以非常轻松地使整个组件可滚动。所以通过把 View2 做成一个单独的组件,就可以只在 View2 中实现滚动了。

    来自http://reactjstutorial.net/

    嵌套组件嵌套组件正是顾名思义。 它们是嵌套在父组件中的子组件。他们只是帮助我们 创建更复杂的 UI 结构。例如,一个警报组件 可能有另一个嵌套在其中的子组件来指示 实际警报数量。消息框有一个内部输入元素和 发送按钮。

    【讨论】:

    • 这是我的想法 - 但这是唯一的方法吗?就像我说的,我目前有很多状态在孩子之间共享,重组整个事情会有点麻烦。如果这是唯一的方法,那么这就是我要做的,但我只是在探索选项。
    • 您是否尝试在 View2 中放置 ScrollView
    猜你喜欢
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 2017-02-06
    • 1970-01-01
    • 2018-04-11
    • 2017-11-16
    • 1970-01-01
    • 2013-11-04
    相关资源
    最近更新 更多