Использование функций из разных файлов в React Native не работает - PullRequest
0 голосов
/ 27 ноября 2018

У меня есть один файл с компонентом RN PageRegistration :

const { registerUser } = require('../../db/db');

export default class PageRegistration extends Component {
constructor(props) {
    super(props);
    this.state = {
        ...
    }
}
regUser = () => {
    ...
    registerUser(user);
}

render() {
    return(
        <View style = {pageRegistrationStyle.container}>

            ...

                <TouchableOpacity onPress = {this.regUser}
                    style = {pageRegistrationStyle.registrButton}>
                    <Text style = {pageRegistrationStyle.registrButtonText}>
                        ADD USER
                    </Text>
                </TouchableOpacity>

        </View>
    )
}
}

и еще один файл db :

const firebase = require("firebase");

const config = {
  ...
};

firebase.initializeApp(config);

const db = firebase.database();

const registerUser = (user) => {
  db.ref('userData').set({
    ...
  });
};

export default registerUser;

Для некоторыхпричина, по которой я импортирую функцию registerUser () из файла db в файл PageRegistration Я получаю сообщение об ошибке "Объекты недопустимы как дочерний элемент React (найдено: объект с ключами ($$ typeof, type, key, ref ...). Если вы хотите отобразить коллекцию дочерних элементов, используйте вместо этого массив. "

Что не так? Что сделалЯ пропустил? Может кто-нибудь, пожалуйста, помогите мне?

Редакция:

Вроде проблема связана с содержимым файла db В частности - первая строка с импортом firebase

Ответы [ 2 ]

0 голосов
/ 28 ноября 2018

Проблема была решена после понижения Firebase до версии 4.9.1

0 голосов
/ 27 ноября 2018

Существует два способа экспорта функций: по умолчанию и обычный.

В дБ вы экспортируете функции по умолчанию, поэтому вам не следует использовать скобки при импорте функции.Это должно работать.

const registerUser = require ('../../ db / db');

...