Как читать данные из firebase на реагировать родные - PullRequest
0 голосов
/ 22 октября 2018

Reaction-native-cli: 2.0.1act-native: 0.57.2 MacOS Mojave Axios, Redux

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

Я должен создать новое действие?или можете изменить состояние для использования в коде?

Кто-нибудь, может помочь мне извлечь тело или заголовок и вставить в мое мобильное приложение?

Мое действие:

export function getPosts(){
    const request = axios(`${FIREBASEBD}/posts.json`)
    .then(response => {
        let posts = [];
        for(let key in response.data){
            posts.push({
                ...response.data[key],
                id:key
            })
        }
        return posts;
    })

    return{
        type:'GET_POSTS',
        payload:request
    }
}

Мои входные данные:

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, TextInput, Button} from 'react-native';

import { connect } from 'react-redux';
import { addPost, getPosts, getPost } from '../Stores/actions';
import { binActionCreators, bindActionCreators } from 'redux';

class InputData extends Component {
    state = {
        title: '',
        body: ''
    }

    handleTitleInput = (title) => {
        this.setState({title})
    }

    handleBodyInput = (body) => {
        this.setState({body})
    }

    addPost = (state) => {
        console.log('====================================');
        console.log(this.state);
        console.log('====================================');

        this.props.addPost(this.state)

    }

    componentDidMount(){
        console.log('====================================');
        this.props.getPosts();
        console.log('====================================');
    }


    render() {
      return (
          <View style={style.formContainer}>
              <View style={style.InputWrapper}>
                  <Text>Title:</Text>
                  <TextInput
                      value={this.state.name}
                      style={style.input}
                      onChangeText={this.handleTitleInput}
                  />
              </View>
              <View style={style.InputWrapper}>
                  <Text>Body:</Text>
                  <TextInput
                      value={this.state.body}
                      style={style.input}
                      onChangeText={this.handleBodyInput}
                  />
              </View>
              <Button
              title="Ajouter"
              onPress={this.addPost}
              />
          </View>
      )
    }
}

const style = StyleSheet.create({
    input:{
        padding: 5,
        borderWidth: 1,
        borderColor: 'lightgrey',
        marginBottom: 5,

    }
});

function mapStateToProps(state){
    console.log('====================================');
    console.log(state);
    console.log('====================================');
    cards: state.cards
}

function mapDispatchToProps(dispatch){
    return bindActionCreators({addPost, getPosts, getPost}, dispatch)
}

export default connect(mapStateToProps, mapDispatchToProps)(InputData);

Спасибо за помощь.Т.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...