React native Flatlist没有读到“;“数据”;在react native中使用钩子的变量集

React native Flatlist没有读到“;“数据”;在react native中使用钩子的变量集,react-native,react-hooks,react-native-flatlist,React Native,React Hooks,React Native Flatlist,我在react native项目中使用钩子,并使用引用的firebase数据库设置数据变量,当我在控制台记录此数据变量时,它首先显示null,几秒钟内显示获取的数据,但flatlist没有读取它。请纠正我的错误。这是我的密码: RecommenTab = () => { useFirebaseQuery = ref => { const [docState, setDocState] = useState({ isLoading: true, da

我在react native项目中使用钩子,并使用引用的firebase数据库设置数据变量,当我在控制台记录此数据变量时,它首先显示null,几秒钟内显示获取的数据,但flatlist没有读取它。请纠正我的错误。这是我的密码:

RecommenTab = () => {
  useFirebaseQuery = ref => {
    const [docState, setDocState] = useState({
      isLoading: true,
      data: null
    });

    useEffect(() => {
      return ref.on("value", snapshot => {
        setDocState({
          isLoading: false,
          data: snapshot
        });
      });
    }, []);
    return docState;
  };

  renderSeparator = () => {
    return (
      <View
        style={{
          height: 1,
          width: "86%",
          backgroundColor: "#CED0CE",
          marginLeft: "14%"
        }}
      />
    );
  };

  userList = () => {
    const ref = database.ref("users");
    const { isLoading, data } = this.useFirebaseQuery(ref);
    if (data != []) {
      return (
        <SafeAreaView style={{ marginTop: 20 }}>
          {console.log(data)}
          <Text>SHOW</Text>
          <FlatList
            data={data}
            renderItem={({ item }) => (
              <View>
                <Text>Work</Text>
                <ListItem
                  title={item.name}
                  subtitle={item.username}
                  leftAvatar={{
                    rounded: true,
                    source: { uri: item.avatar }
                  }}
                />
              </View>
            )}
            keyExtractor={item => item.id}
            ItemSeparatorComponent={this.renderSeparator}
          />
        </SafeAreaView>
      );
    }
  };

  return <View>{this.userList()}</View>;
};
RecommenTab=()=>{
useFirebaseQuery=ref=>{
const[docState,setDocState]=useState({
孤岛加载:是的,
数据:空
});
useffect(()=>{
返回ref.on(“值”,快照=>{
setDocState({
孤岛加载:false,
数据:快照
});
});
}, []);
返回状态;
};
RenderParator=()=>{
返回(
);
};
用户列表=()=>{
const ref=database.ref(“用户”);
const{isLoading,data}=this.useFirebaseQuery(ref);
如果(数据!=[]){
返回(
{console.log(数据)}
显示
(
工作
)}
keyExtractor={item=>item.id}
ItemSeparatorComponent={this.renderSeparator}
/>
);
}
};
返回{this.userList()};
};