3
新しい反応ネイティブプロジェクトを作成し、reduxデモを作成します.IOSシミュレーターに「還元剤が関数であることを期待しました」と表示されます。しかし、それは動作しません還元剤が関数であることを期待しました
index.ios.js
import React, {Component} from 'react';
import {AppRegistry, StyleSheet, Text, View} from 'react-native';
import {createStore} from 'redux';
import {Provider} from 'react-redux';
import {reducers} from './src/reducer';
import {App} from './src/App';
const store = createStore(reducers)
export default class rnredux extends Component {
render() {
return (
<View style={styles.container}>
<Provider store ={store}>
<App/>
</Provider>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF'
},
});
AppRegistry.registerComponent('rnredux',() => rnredux);
App.js
myComponent.js
あなたはモジュールのデフォルト、dont'tの使用ブレース{}
をインポート
import React,{Component} from 'react';
import {Text,TextInput} from 'react-native';
export default class myComponent extends Component{
render(){
<View>
<Text>{this.props.text}</Text>
<TextInput defaultValue = {this.props.name} onChangeText = {this.props.onChange}></TextInput>
</View>
}
}
reducer.js
import {combineReducers} from 'redux';
const reducerAction = (state = {
text: '你好,访问者',
name: '访问者'
}, action) => {
switch (action.type) {
case 'change':
return {
name: action.payload,
text: '你好,' + action.payload
};
default:
return state;
}
}
const reducers = combineReducers({
reducerAction
})
export default reducers;
{reducers}とreducersの違いについて教えてください。それは私のために働いたが、それでも私は知りたい。 –
@Vijender Kumar 'reducers'は、モジュールがエクスポートするキーワード' default'を使用する関数または変数をインポートするために使用され、 '{reducers}'は他の関数をインポートするために使用されます。デフォルトの関数はnodejの 'module.exports'と似ていますが、' exports'のような 'default'を持たない関数もあります。 – wuxiandiejia