Как объявить класс модели в native реагировать и передать весь класс модели во второй экран с помощью реагирующей навигации

Отмечу, что если ваше приложение указано в магазине воспроизведения, вы, вероятно, не захотите изменить имя пакета, и вы, вероятно, не захотите заменить производственный ключ (так как вы будете вынуждены сделайте новый список).

Если вы абсолютно уверены, что в настоящее время нет активных проектов, использующих текущую пару папок / дескрипторов, одна из последних попыток: Сделайте совершенно новые учетные данные. Вам придется заменить свой файл учетных данных в приложении.

Я не ожидал, что это поможет, но это произошло. Может быть, Google каким-то образом кэширует поиск? «Этот поиск packagename / fingerprint / clientID является дубликатом, так что не утруждайте себя поиском снова».

1
задан Vishal Patoliya ツ 16 January 2019 в 10:05
поделиться

2 ответа

Полагаю, это ваше UserModel.js. Теперь вы можете импортировать модель как другие компоненты:

import UserModel from './location/UserModel';

Но если вы сделаете это так, вам придется создавать экземпляр UserModel каждый раз, когда вы импортируете его. [1112 ]

Если вы хотите предотвратить это, просто создайте экземпляр UserModel, экспортируйте его в UserModel.js и импортируйте экземпляр в любое место.

Вот так:

class UserModel {
    //...
}

export default new UserModel();

другим способом может быть:

export class UserModel {
    //...
}

const GlobalUserModel = new UserModel(); 
export default GlobalUserModel;

, чтобы выбрать в других файлах, что импортировать:

import { UserModel } from './location/UserModel'; //get new instance

или [1117 ]

import GlobalUserModel from './location/UserModel'; //get global instance

Если вы импортируете через { UserModel }, вы должны сначала создать экземпляр: new UserModel()

... или наоборот.

Редактировать:

После некоторого обсуждения, это был обязательный ответ:

this.props.navigation.navigate('UserList', { userModel: userModel });

this.props.getParam('userModel', /* optional default value */);
0
ответ дан schogges 16 January 2019 в 10:05
поделиться

Шаг 1: Создайте UserModel.js

class UserModel {

    constructor() {
        stateName,
        username,
        email,
        mobile,
        gender,
        address;
    }

}

Примечание. Не экспортируйте его, если не хотите устанавливать глобально.

Шаг 2: Screen1.js - установить UserModel и перейти с экрана 1.

_handlePress = async () => {

        UserModel.username = "Vishal Patoliya"

        this.props.navigation.navigate('UserList',{userData: UserModel});

    }

Шаг 3: Получение класса модели на другом экране.

render() {
        console.log(TAG, "render() Called.")

        const UserModel = this.props.navigation.getParam('userData');

        console.log("Username", UserModel.username)
}

OutPut:

01-16 17:30:32.085  4541  5638 I ReactNativeJS: 'Username', 'Vishal Patoliya'
0
ответ дан Vishal Patoliya ツ 16 January 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: