Reactjs 当存在';s仅在其他组件上进行布局
我有一个由按钮和一个Reactjs 当存在';s仅在其他组件上进行布局,reactjs,react-native,flatlist,Reactjs,React Native,Flatlist,我有一个由按钮和一个FlatList组成的屏幕。按钮有onLayout()侦听器来测量其borderRadius,其动态值取决于其宽度 const [buttonFilterStyle, setButtonFilterStyle] = useState({}); const buttonFilterOnLayout = (event) => { const {width} = event.nativeEvent.layout; const style = {borderRadius
FlatList
组成的屏幕。按钮有onLayout()
侦听器来测量其borderRadius
,其动态值取决于其宽度
const [buttonFilterStyle, setButtonFilterStyle] = useState({});
const buttonFilterOnLayout = (event) => {
const {width} = event.nativeEvent.layout;
const style = {borderRadius: width / 2};
setButtonFilterStyle(style);
};
const TabScene = () => (
<View style={{flex: 1, paddingHorizontal: 12, paddingTop: 12}}>
<View style={{flexDirection: 'row', paddingVertical: 12}}>
<Button
onLayout={buttonFilterOnLayout}
mode="contained"
style={[
styles.buttonFilter,
styles.buttonFilterActive,
buttonFilterStyle,
{marginRight: 8},
]}
contentStyle={{padding: 10}}
labelStyle={[styles.buttonFilterLabel, {color: colors.primary}]}
uppercase={false}>
Belum Terbayar
</Button>
</View>
<FlatList
showsVerticalScrollIndicator={false}
data={dummyData}
renderItem={renderItem}
keyExtractor={(item, index) => `${index}`}
/>
</View>
);
const[buttonFilterStyle,setButtonFilterStyle]=useState({});
常量按钮FilterOnlyLayout=(事件)=>{
const{width}=event.nativeEvent.layout;
常量样式={borderRadius:width/2};
setButtoFilterStyle(样式);
};
const TabScene=()=>(
贝勒姆·特巴亚尔
`${index}`}
/>
);
但是,显然,这个onLayout
侦听器影响了FlatList
的滚动状态,导致它在每次我进行滚动时重置滚动位置。如何解决这个问题