【发布时间】:2021-07-13 12:39:03
【问题描述】:
我的平面列表中有一些按钮,如下所示
const renderItem = ({ item }) => <Item name={item.name} slug={item.slug} />;
const Item = ({ name, slug }) => {
return (
<TouchableOpacity
delayPressIn={0}
onPress={() => {
dispatch(setLanguage(slug));
}}
>
<View
style={[
styles.item,
{ backgroundColor: languages == slug ? "#940062" : "black" },
]}
>
<Text style={styles.title}>{name}</Text>
</View>
</TouchableOpacity>
);
};
return (
<SafeAreaView style={styles.container}>
<FlatList
horizontal={true}
data={jsonLang}
renderItem={renderItem}
keyExtractor={(item) => item.id.toString()}
/>
</SafeAreaView>
);
};
上面的代码工作正常,当我点击它时,它正在改变背景?但是背景颜色的变化延迟了 1 秒。这是更改按钮背景颜色的正确方法吗?
谢谢。
P.S:setlanguage 是我的 redux 中的 reducer
setLanguage: (state, action) => {
state.language = action.payload;
},
【问题讨论】:
-
setLanguage和languages是什么?它在哪里定义? -
setlanguage 是我的 redux 中的 reducer,我已经编辑了我的问题。
标签: reactjs react-native react-redux react-native-flatlist