私が構築しているReactネイティブアプリケーションに新しいreact-navigationライブラリーを使用しています。私は自分のNavコンポーネントから私のActionCreators
をシーンに渡すことに問題があります。アクションクリエイターを反応ナビゲーションに渡す
私はアプリケーション全体をラップするAppContainer
を持っています。ここで
import React, { Component } from 'react';
import { DrawerNavigator, addNavigationHelpers } from 'react-navigation';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { ActionCreators } from '../actions';
import DashboardContainer from './DashboardContainer';
import CustomersContainer from './CustomersContainer';
const ApplicationNavigation = DrawerNavigator({
Dashboard: { screen: DashboardContainer },
Customers: { screen: CustomersContainer },
});
class AppContainer extends Component {
render() {
return (
<ApplicationNavigation />
);
}
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(ActionCreators, dispatch);
}
export default connect(() => { return {} }, mapDispatchToProps)(AppContainer);
がCustomerContainerです:
import React, {Component} from 'react';
import {View, Text, Button} from 'react-native';
export default class CustomerContainer extends Component {
btnPressed() {
this.props.listCustomers()
}
render() {
return (
<View style={{marginTop: 40}}><Text>Customer</Text>
<Button onPress={() => this.btnPressed()} title="Press Me!" />
</View>
);
}
}
今、私は私のCustomerContainer
this.props.listCustomers()
内のアクションを呼び出すようにしようとしています。問題は、ActionCreatorの小道具がスクリーンに渡されていないことです。
しかし、私は、この私のアプリがエラーなしでそのちょうど空白の任意の画面が表示されないん何らかの理由:私はApplicationNavigation
コンポーネントにscreenProps
小道具を追加することを試みました。
UPDATE
だから私は私の更新CustomerContainer
ファイル:これが機能するようになりました
import React, {Component} from 'react';
import {View, Text, Button} from 'react-native';
import { connect } from 'react-redux';
import { bindActionCreators } from 'redux';
import { ActionCreators } from '../actions';
class CustomerContainer extends Component {
btnPressed() {
console.log(this.props.listCompanyCustomers())
}
render() {
return (
<View style={{marginTop: 40}}><Text>Customer</Text>
<Button onPress={() => this.btnPressed()} title="Press Me!" />
</View>
);
}
}
function mapStateToProps(state) {
return {
companyCustomers: state.companyCustomers
};
}
function mapDispatchToProps(dispatch) {
return bindActionCreators(ActionCreators, dispatch);
}
export default connect(mapStateToProps, mapDispatchToProps)(CustomerContainer);
。しかし、これはこれについて間違ったやり方のように感じる。 Reduxの基本的にない接続は何
こんにちはロドリゴ。私は同じことをしますが、この場合、 アクションは渡されません。私はあなたと同じ問題で立ち往生しています。手伝って頂けますか? –