как распечатать результат моих дочерних параметров пожарной базы на экране? - PullRequest
0 голосов
/ 10 февраля 2019

как распечатать результат моих дочерних параметров пожарной базы на экране?

ошибка: объекты недопустимы как дочерние элементы React (найдено: объект с ключами {datetime,дополнения, параметры}).Если вы намеревались визуализировать коллекцию дочерних элементов, используйте вместо этого массив.

constructor() {
    super()
    this.app = firebase.initializeApp(firebase_config);
    this.database = this.app.database().ref().child('users');
    this.state = {
      users: []
    }
}

componentDidMount() {
  this.database.once("value", snapshot => {
   snapshot.forEach(data => {
    data.forEach(result => {
      this.setState({users: result.val()})
    });
   })
 });
}

render() {
   return(
     <BrowserRouter>
       <div className="App">
         <Navbar/>
         <Switch>
          <Route exact="exact" path='/' component={CampaingListClients}/>
         </Switch>
        <p>{this.state.users}</p>
      </div>
   </BrowserRouter>
  );
 }
}

Объекты недопустимы как дочерние элементы React (найдено: объект с ключами {datetime, extras, params}).Если вы намеревались отобразить коллекцию дочерних элементов, используйте вместо этого массив.

Моя структура Firebase здесь: введите описание изображения здесь

Описание ошибки ЗДЕСЬ: enterописание изображения здесь

1 Ответ

0 голосов
/ 10 февраля 2019

Вы можете сделать что-то вроде этого.

render() {
  const { users } = this.state;
  return (
   <BrowserRouter>
    <div className="App">
      <Navbar/>
      <Switch>
        <Route exact="exact" path='/' component={CampaingListClients}/>
      </Switch>
      <p>
        {users.map(user => {
          <span key={user.name}>
            <span>{user.name}</span>
            <span>{user.email}</span>
          </span>
        })}
      </p>
    </div>
  </BrowserRouter>
  );
}
...