React Naitve показывает только один вид - PullRequest
0 голосов
/ 08 апреля 2020

в моем приложении на домашнем экране я рендеринг ListList с моими элементами. Теперь я хотел добавить небольшой информационный текст над ним. Но он показывает только мой текст и пропускает (?) Мой FlatList. Может ли кто-нибудь помочь мне и объяснить мне это поведение?

Если у меня есть текстовый компонент в моем файле, он показывает только текст. Если я использую только FlatList, он правильно показывает мой список с моими данными. Но если я попытаюсь объединить оба, это показывает только один компонент. То же самое, когда я использую только FlatList и оборачиваю его внутри View, тогда я получаю только белый пустой экран.

const JobsScreen = (props) => {
  const dispatch = useDispatch();

  const [isLoading, setIsLoading] = useState(false);
  const [isRefreshing, setIsRefreshing] = useState(false);

  const allJobs = useSelector((state) => state.job.availableJobs);

  const loadJobs = useCallback(async () => {
    setIsRefreshing(true);

    try {
      await dispatch(jobActions.fetchAllJobs());
    } catch (err) {}

    setIsRefreshing(false);
  }, [dispatch]);

  useEffect(() => {
    setIsLoading(true);
    loadJobs().then(() => {
      setIsLoading(false);
    });
  }, [dispatch, loadJobs]);

  useEffect(() => {
    const willFocusSub = props.navigation.addListener("willFocus", loadJobs);

    return () => {
      willFocusSub.remove();
    };
  }, [dispatch, loadJobs]);

  if (isLoading) {
    return (
      <View
        style={{
          flex: 1,
          justifyContent: "center",
          alignItems: "center",
          backgroundColor: "#2f3640",
        }}
      >
        <ActivityIndicator size="large" color="#fff" animating />
      </View>
    );
  }

  return (
    <View>
      <FlatList
        data={allJobs}
        onRefresh={loadJobs}
        refreshing={isRefreshing}
        keyExtractor={(item) => item.id}
        style={{ flex: 1, backgroundColor: "#1a191e" }}
        renderItem={(itemData) => (
          <JobItem
            description={itemData.item.description}
            titel={itemData.item.titel}
            fname={itemData.item.fname}
            cover={itemData.item.cover}
            genre={itemData.item.genre}
            year={itemData.item.year}
            id={itemData.item.id}

            //           friend={itemData.item.friend}
          />
        )}
      />
    </View>
  );
};

Ответы [ 2 ]

0 голосов
/ 08 апреля 2020

Попробуйте это.

<View style={{ flex: 1 }}>
0 голосов
/ 08 апреля 2020

Понял сам.

 <View style={{ height: "100%" }}>

решено.

...