所以我有如下组件
return (
<View>
<View
style={!this.state.showSearchBar && styles.hidden}
>
<Header>
<View>
<Item >
<Icon name="ios-search" />
<Input placeholder="Search" />
</Item>
<Button
onPress={this.searchBarButton}
>
<Text>Search</Text>
</Button>
</View>
</Header>
</View>
<View
style={this.state.showSearchBar && styles.hidden}
>
<Header ref={"button"}>
<Button onPress={() => this.searchBarButton()} transparent>
<Icon name="search" style={styles.bigblue} />
</Button>
</Header>
</View>
</View>
);
}
当我点击按钮时,我基本上设置状态,所以我隐藏并显示带搜索图标的搜索栏
searchBarButton() {
this.setState({ showSearchBar: !this.state.showSearchBar });
}
和风格
hidden: {
height: 0,
width: 0,
opacity: 0
}
所以基本上当我的场景只有标题时,这种方法非常流畅和快速,但是当我添加平面列表或任何其他大列表时,切换之间有1秒的延迟。为什么会这样?是因为setState渲染整个屏幕?那么我怎样才能重新渲染特定的组件。