Я интегрирую Redux в свое приложение React Native.My Redux store - это массив
У меня возникли проблемы с передачей состояния в мои компоненты и реализовано, потому что начальное состояние начинается с ключа «0», например.
{
'0': {
key: 'value'
}
}
I.e. это массив.
Так что, если у меня есть в моем connect
экспорта:
export default connect(state => ({
key: state.key,
reduxState: state
}),
(dispatch) => ({
actions: bindActionCreators(MyActions, dispatch)
})
)(MyReduxApp);
key
всегда не определено, однако, reduxState
получает передается успешно. (Конечно, это не рекомендуется, чтобы отправить весь состояние вниз)
Корневой компонент:
import React, { Component } from 'react-native';
import { createStore, applyMiddleware, combineReducers } from 'redux';
import { Provider } from 'react-redux';
import DataReducer from '../Reducers/Data';
import MyRedApp from './JustTunerApp';
const createStoreWithMiddleware = applyMiddleware(thunk)(createStore);
const reducer = combineReducers([DataReducer]); // ready for more reducers..
// const store = createStoreWithMiddleware(reducer);
const store = createStore(reducer);
export default class App extends Component {
render() {
console.log ("store.getState:")
console.log (store.getState())
return (
<Provider store={store}>
<MyReduxApp />
</Provider>
);
}
}
Мой редуктор выглядит следующим образом:
const initialState = {
key : "value"
};
export default function key(state = initialState, action = {}) {
switch (action.type) {
// ...
default:
return state;
}
}
ли магазин возвращается как массив? Как передать его методу connect
?
Если я передать его в качестве key: state[0].key
то это работает, но это не кажется правильным в соответствии со всеми примерами, которые я видел ..
Как я вижу в вашем редукторе, вы не возвращаете 'state'; –
Что бы ни было возвращено из корневого редуктора, это именно то, что передается 'connect'. Если вы используете средства промежуточного уровня/хранилища, это может повлиять на значение. –
@ MichelleTilley спасибо, однако я удалил промежуточное ПО ('redux-thunk'), но все равно получаю то же самое. Но ваш комментарий дает мне ключ к дальнейшему расследованию. – Adamski