Как получить идентификатор пользователя из Firebase в реагировать родной? - PullRequest
0 голосов
/ 13 апреля 2019

Мне нужна ваша помощь. Я использую Firebase для своего приложения. Я пытаюсь получить идентификатор пользователя, а не зарегистрированных пользователей, не всех пользователей, которые у меня есть. Я хочу показать их (UID) просто как в предупреждении для каждого пользователя. Кроме того, я показываю их в плоском списке, и когда я устанавливаю item.uid в предупреждении, он показывает (undefined). Но все остальные данные пользователя отображаются корректно. Это то, что я делал до сих пор:

** users.js **

export default class usersList extends React.Component{

  state = {
    loading: false,
    uid: '',
    users: [],
    items: []
   };

   componentDidMount() {
        let itemsRef = f.database().ref('users').once('value').then(snapshot => {
               var data = snapshot.val();
               var items = Object.values(data);
               this.setState({items});
               console.log(snapshot.val())

            });
       }


  renderItem({item}) {
    return (
       <View key={index} style={{width: '100%', overflow:'hidden', marginBottom: 5, justifyContent:'space-between', borderBottomWidth:1, borderColor: 'grey'}}>
          <View>
          <View style={{padding:5, width:'100%', flexDirection: 'row', justifyContent: 'space-between'}}>

              <Text>{item.email}</Text>

          </View>
          </View>
        </View>
      )
  }

  render() {
   return (

     <View style={styles.container}>
     <ScrollView>
                {
                    this.state.items.length > 0
                    ? <ItemComponent items={this.state.items} navigation={this.props.navigation} />
                    : <Text>No stores</Text>
                }
                </ScrollView>
            </View>

  );
 }
 }

// ItemComponent.js

export default class ItemComponent extends Component {

  static propTypes = {
      items: PropTypes.array.isRequired
  };

  render() {
    return (
      <View style={styles.itemsList}>
        {this.props.items.map((item, index) => {
            return (
                <View key={index}>
                <TouchableOpacity
                onPress={ () => alert(item.uid)}>
                    <Text style={styles.itemtext}>{item.email}</Text>
                    </TouchableOpacity>
                </View>
            )
        })}
      </View>
    );
  }
}

1 Ответ

0 голосов
/ 13 апреля 2019
firebase.database().ref('user').on('value', (datasnapshot) => {
    this.setState({
       _id: datasnapshot.key
     });`
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...