Я новичок в Redux, поэтому не уверен, что я делаю неправильно. Я использую счетчик, который работает на первой страницеНе удается подключить магазин к другой странице
Первая страница:
'use strict';
import React, {Component} from 'react';
import {bindActionCreators} from 'redux';
import Counter from '../components/counter';
import * as counterActions from '../actions/counterActions';
import { connect } from 'react-redux';
import { Router, Scene, Route, ActionConst } from 'react-native-router-flux';
import Home from './Home';
class Routing extends Component {
constructor(props) {
super(props);
}
componentDidMount(){
const { state, actions } = this.props;
console.log(state.count); //This returns 0 just like it's supposed to
}
render() {
return (
<Router>
<Scene hideNavBar="true" key="root">
<Scene counter={state.count} key="home" component={Home} initial={true} animation="false" duration='0' />
</Scene>
</Router>
)
}
}
export default connect(state => ({
state: state.counter
}),
(dispatch) => ({
actions: bindActionCreators(counterActions, dispatch)
})
)(Routing);
Главная страница:
import React, { Component } from 'react';
import { Text } from 'react-native';
import { Actions } from 'react-native-router-flux';
import { connect } from 'react-redux';
import * as counterActions from '../actions/counterActions';
import {bindActionCreators} from 'redux';
export default class Home extends Component {
constructor(props) {
super(props);
this.state = {};
}
render() {
const { state, actions } = this.props;
return (
<Text>
{state.counter}
</Text>
)
}
}
export default connect(state => ({
state: state.counter
}),
(dispatch) => ({
actions: bindActionCreators(counterActions, dispatch)
})
)(Home);
Соединим на домашней странице бросает мне ошибку Failed to execute 'importScripts' on 'WorkerGlobalScope'
Я думал, что это может быть связано с React Native Router Flux
, потому что я использую Сцены, но это происходит, когда я пытаюсь подключить магазин к Домашней странице.
У вас есть 2 'экспорта default's для' дома 'компонента. Только один «экспорт по умолчанию» разрешен для каждого файла. 'const' является блочным, поэтому назначение' const state = ... 'в' componentDidMount 'Routing' делает' state' недоступным внутри 'render', правильно? – NiFi
Вы правы, я не могу получить доступ к нему внутри рендеринга. Но как я должен подключиться к дому без использования экспорта по умолчанию? Если я его не использую, он не выдаст ошибку, но я до сих пор не могу получить доступ к this.props.counter. –
Я удалил экспорт по умолчанию из класса Home вместо этого, и это очень помогло! –