Передача данных между двумя вкладками - PullRequest
0 голосов
/ 26 марта 2019

Я создаю приложение, которое содержит TabNavigator.Как на первом экране я инициализирую данные, которые мне также нужны на втором экране.Я хочу знать, как лучше всего передавать параметры между этими экранами

Я пытался использовать Navigation.setParams() с первого экрана, но во втором я не получил его.

const PaymentsStack = createStackNavigator({
        Payments: {
            screen: PaymentsScreen
        }
    }
);

const GraphsStack = createStackNavigator({
    Graphs: GraphsScreen
});

createBottomTabNavigator({
    PaymentsStack,
    GraphsStack
});
class PaymentsScreen extends Component {
    async componentDidMount() {
        const importantData = await GetDataFromServer();
    };
}
class GraphsScreen extends Component {
    async componentDidMount() {
        const importantData = ??;
    };
}

Я хочу знать, как получить importantData, который вернулся к PaymentsScreen в GraphsScreen

Спасибо

1 Ответ

0 голосов
/ 26 марта 2019

Вы можете достичь этого через getParam и setParam

class PaymentsScreen extends Component {
    async componentDidMount() {
        const importantData = await GetDataFromServer();
        this.props.navigation.setParams({ importantData });
    };
}


class GraphsScreen extends Component {
    async componentDidMount() {
        const importantData = this.props.navigation.getParam('importantData');
    };
}

getParam & getParam может решить проблему в случае, если у вас есть вопрос ... но я думаю, что этот вариант использования обычно управляется одним из популярных инструментов глобального управления состоянием, таким как redux * 1009. * или неустановлено , как @Edison упомянул в своем комментарии ...

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