javascript - React Native Firebase 仅获取一项数据

标签 javascript reactjs firebase react-native firebase-realtime-database

如何只获取一个数据并将其写入 Header ?
我正在使用 firebase 和react-redux。

firebase结构我尝试写“组织”:inovanka: firebase structure i try to write "**organization**": inovanka

操作文件代码:

import firebase from 'firebase';
import { Actions } from 'react-native-router-flux';
import { ORGANIZATION_NAME_DATA_SUCCESS } from './types';


 export const organizationName = () => {
    const { currentUser } = firebase.auth();
      return (dispatch) => {
        firebase.database().ref(`/organizations/${currentUser.uid}`)
          .on('value', snapshot => {
            dispatch({ type: ORGANIZATION_NAME_DATA_SUCCESS, payload: snapshot.val() });
        });
    };
  }

reducer 文件:

import { ORGANIZATION_NAME_DATA_SUCCESS } from '../actions/types';

const INITIAL_STATE = {

};

export default (state = INITIAL_STATE, action) => {
  switch (action.type) {
    case ORGANIZATION_NAME_DATA_SUCCESS:
      console.log(action); // data retrieved as array
      return action.payload
    default:
      return state;
  }
};

组件:(我想写到这里)

    class HomePage extends Component {

      componentWillMount() { 
      }

      render() {
        return (
          <Container>
            <Header> 
              <Text> i would like to write it here </Text>
            </Header>
            <Content>

            </Content>
          </Container>
        );
      }
    }

    const mapStateToProps = ({ homepageResponse }) => {
      const organizationArray = _.map(homepageResponse, (val, uid) => {
        return { ...val, uid }; //
      });
      return { organizationArray };
    };

    export default connect(mapStateToProps, { organizationName })(HomePage);

最佳答案

更改此:

firebase.database().ref(`/organizations/${currentUser.uid}`)
      .on('value', snapshot => {

对此:

firebase.database().ref(`/organizations/${currentUser.uid}`)
      .once('value', snapshot => {

使用once()只会读取一次数据,因此只获取一个数据

关于javascript - React Native Firebase 仅获取一项数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49257221/

相关文章:

javascript - 哪种方式最适合 React Native 中的条件渲染?

java - Firestore : Query names that match or similar to the searched term

android - com.google.android.gms.common.api.ApiException : 8:

javascript - 我们在 javascript 中有 getElementsByClassName 吗?

javascript - 在 Angular js中将值从一个控件传递到另一个控件

javascript - react createElement 不工作返回 [对象对象]

firebase - "Token has expired or is not yet valid"来自 FirebaseUser.getToken(true) 的 token

javascript - 编码百分比值的问题

javascript - 为什么谷歌地图在视网膜上呈现自定义符号非常糟糕?

reactjs - 由于漏洞需要人工审核,无法部署应用