Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Layout 如何在不卸载组件的情况下隐藏组件?_Layout_React Native - Fatal编程技术网

Layout 如何在不卸载组件的情况下隐藏组件?

Layout 如何在不卸载组件的情况下隐藏组件?,layout,react-native,Layout,React Native,我有一个列表组件,我希望在不需要的时候将其保存在DOM中,这样滚动位置就不会丢失 我尝试将样式设置为{display:'none'},但这会卸载组件。我也尝试过设置{flex:0.0001}哪种类型有效,但感觉像是一种黑客行为(稍后他们可能会将其优化为“0”),并且在显示/隐藏组件时会产生布局故障 知道正确的方法是什么吗?如果我理解正确,您希望组件保持安装状态,但不占用任何空间或渲染任何内容?如果只向组件传递一个hide属性,如果该属性为真,则该组件将在渲染中返回一个空视图。请尝试以下操作: &

我有一个列表组件,我希望在不需要的时候将其保存在DOM中,这样滚动位置就不会丢失

我尝试将样式设置为
{display:'none'}
,但这会卸载组件。我也尝试过设置
{flex:0.0001}
哪种类型有效,但感觉像是一种黑客行为(稍后他们可能会将其优化为“0”),并且在显示/隐藏组件时会产生布局故障


知道正确的方法是什么吗?

如果我理解正确,您希望组件保持安装状态,但不占用任何空间或渲染任何内容?如果只向组件传递一个
hide
属性,如果该属性为真,则该组件将在渲染中返回一个空视图。请尝试以下操作:

<div style={{visibility: this.state.hidden ? 'hidden' : 'visible'}}>
    content
</div>

内容

我发现,在最近的几年中,该方法具有以下特点:

{ display: 'none' }
为我做的很好,我的标签组件在不卸载其内容的情况下切换布局


测试日期:
RN 0.58.1,iPhone X 12.1

是,在不可见的情况下保持安装状态。我也尝试过返回null,但这相当于卸载组件(因为列表仍将被卸载)。您需要从组件内部获取列表?高度=0,宽度=0,是否有效?{display:'none'}不会卸载组件。这对我来说很好。