为了账号安全,请及时绑定邮箱和手机立即绑定

在反应本机中按下字段时过滤项目

在反应本机中按下字段时过滤项目

泛舟湖上清波郎朗 2022-10-13 15:39:35
我有一个带有不同卡片的屏幕(有文章信息)我试图在按下方便的类别时按类别过滤文章我希望选择该类别并显示属于该类别的文章,另一方面当没有选择任何类别时,将所有类别中的所有文章都交给显示(如果您看下面的图片,这将更有意义)用于显示不同类别图片的代码:import TouchableScale from "react-native-touchable-scale";import { category } from "../api/data";import colors from "../config/colors";function HotTopics({ navigation }) {  //const { width, height } = Dimensions.get("window");  return (    <View style={styles.Container}>      <View>        <Text style={styles.CategoryText}>Hot Topics</Text>      </View>      <FlatList        horizontal        showsHorizontalScrollIndicator={false}        style={{ paddingHorizontal: 15 }}        data={category}        keyExtractor={(item) => item.id}        renderItem={({ item }) => {          return (            <View>              <View>                <TouchableScale                  activeScale={0.9}                  tension={50}                  friction={7}                  useNativeDriver                  onPress={() => navigation.navigate({ id: item.id })}                >                  {/* to show the horizental news list*/}                  <Image                    source={{ uri: item.image }}                    style={{                      width: 100,                      height: 120,                      borderRadius: 16,                      marginRight: 10,                    }}                  />                  {/* to show the news titles inside the pictures*/}                  <SharedElement                    id={`item.${item.id}.text`}                    style={{                      width: 100,                      position: "absolute",                      bottom: 95,                      //left: 10,                      paddingHorizontal: 5,                      justifyContent: "center",                      alignItems: "center",                    }}       
查看完整描述

1 回答

?
哔哔one

TA贡献1854条经验 获得超8个赞

处理这个问题的最简单方法是有一个回调函数来设置 HotTopics 组件的状态,如下所示

const [category, setCategory] = useState();

在渲染中

  <HotTopics onCategorySelect={setCategory} /> 
   <ArticleListVer post={filterResultsByCategory(category)} />

对于热门话题的点击,你可以做

onPress={() =>
            this.props.onCategorySelect(item.category)
          }

通过这样做,您将使用新类别重新呈现父级。对于重置,您需要一个按钮将状态重置为空,以便显示所有项目。


查看完整回答
反对 回复 2022-10-13
  • 1 回答
  • 0 关注
  • 70 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信