Я новичок в React Native, и я столкнулся со следующей ошибкой при использовании функции Connect для redux. Ошибка:
Ошибка: недопустимый тип элемента: ожидается строка (для встроенных компонентов) или класс / функция (для составных компонентов), но получено: undefined. Вероятно, вы забыли экспортировать компонент из файла, в котором он определен, или вы могли перепутать импорт по умолчанию и именованный импорт. Проверьте метод рендеринга "ExploreScreen". Ошибка находится по адресу: In ExploreScreen (созданный функцией Connect) в ConnectFunction (...)
Вот соответствующий код в классе ExploreScreen:
import {connect} from 'react-redux'
import _getBusinessLocationMarkersAsync from '../BusinessLocations/_getBusinessLocationMarkersAsync';
import { setLocation, setFilters, setBusiness } from '../Reducer/BusinessLocationsReducer';
export class ExploreScreen extends Component {
async componentDidMount (){
businessx = await _getBusinessLocationMarkersAsync();
this.props.setBusiness(businessx)
}
render(){
const { filters, business } = this.props;
const mapSpots = filters.type === 'all' ? business
: business.filter(business => business.type === filters.type);
return(
<>
<MapView/>
<View>
<Ionicons name='ios-funnel' size={24} color='red'/>
</View>
</>
)};
}}
//redux connect
const moduleState = state => ({
business: state.business.spots,
filters: state.business.filters,
location: state.business.location,
});
const moduleActions = {
setLocation,
setBusiness,
setFilters,
}
export default connect (moduleState, moduleActions)(ExploreScreen);
У меня не было этой ошибки до того, как я добавил в рендер представление с иконкой ionicon. иногда я также получаю сообщение об утечке памяти, но не всегда ... Я изо всех сил старался изложить это хорошо, но я новичок в React Native, поэтому дайте мне знать, если чего-то не хватает.
Большое спасибо за вашу помощь!