我正在尝试进行标签选择,问题是,我不知道如何为地图中的每个项目创建一个状态,现在我只有一个状态,当然,这会更改所有项目。
这就是状态和切换状态的函数
const [selectedActivity, setSelectedActivity] = useState(false);
const toggleSelectedActivity = () => {
setSelectedActivity(!selectedActivity);
};
这就是地图功能
<View style={styles.tags}>
{activitiesObject.map((data, i) => (
<TouchableOpacity
key={data.activity}
onPress={() => toggleSelectedActivity(i)}
>
<Text style={selectedActivity ? styles.selectedTag : styles.tagsText}>
{data.activity}
</Text>
</TouchableOpacity>
))}
</View>;
下图显示了每次用户选择标签时我期望发生的事情
这是完整的代码: https : //snack.expo.io/KIiRsDPQv