У меня есть файл json, который передается в редукторе следующим образом:
import data from './LibraryList.json';
export default () => data;
это индекс. js для всех моих редукторов.
import { combineReducers } from 'redux';
import LibraryReducer from './LibraryReducer';
export default combineReducers({
libraries: () => LibraryReducer
});
и приложение. js файл
import React from 'react';
import { View } from 'react-native';
import { Provider } from 'react-redux';
import { createStore } from 'redux';
import reducers from './reducers';
import { Header} from './components/common'
import LibraryList from './components/LibraryList';
const App = () => {
return (
<Provider store={createStore(reducers)}>
<View>
<Header headerText="Tech Stack" />
<LibraryList />
</View>
</Provider>
)
}
export default App;
Вот так я подключаюсь к редуктору и сопоставляю состояние с подпорками, но, к сожалению, он не рендерит мои текстовые компоненты, он даже не печатает мои console.log ("эй").
import React, { Component } from 'react';
import { FlatList, Text } from 'react-native';
import { connect } from 'react-redux';
import ListItem from './ListItem';
class LibraryList extends Component {
renderItem({library}) {
console.log("hey");
return <Text> {library.title}</Text>
}
render() {
return (
<FlatList
data={this.props.libraries}
keyExtractor={library => library.id.toString()}
renderItem={({item}) => this.renderItem(item)}
/>
);
}
}
const mapStateToProps = state => {
return { libraries: state.libraries };
}
export default connect(mapStateToProps)(LibraryList);
Когда я сохраняю консоль log.log, это все, что я получаю:
ƒ _default() {
return _LibraryList.default;
}
вместо моего массива объектов.