Теперь я пытаюсь создать приложение с React Native, Mobx и Expo.
Однако после того, как я установил Mobx и сделал Store с наблюдаемым из Mobx, я получил ошибку, как показано ниже.
В дополнение к этой информации, которую я упомянул, я использую некоторые декораторы, такие как @observer и @inject, Provider.
Добавьте мой код компонента с помощью Provider.
import React from "react";
import { View, StyleSheet } from "react-native";
import { Provider } from "mobx-react/native";
import HomeHeader from "../Elements/Home/HomeHeader";
import HomeShopList from "../Elements/Home/HomeShopList";
import HomeAllCouponListButton from "../Elements/Home/HomeAllCouponListButton";
import HomeAllShopListButton from "../Elements/Home/HomeAllShopListButton";
import RestaurantStore from "../Stores/EachStores/RestaurantStore";
class Home extends React.Component {
render() {
const { navigation } = this.props;
return (
<View style = {styles.container}>
<HomeHeader />
<Provider restaurantStore = {RestaurantStore}>
<HomeShopList navigation = {navigation} />
</Provider>
<HomeAllCouponListButton />
<HomeAllShopListButton />
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1
}
});
Я добавил свой код компонента с Provider.





Ваш магазин провайдера должен быть правильно настроен:
Должно быть похоже.
<Provider restaurantStore = {RestaurantStore}>
А не как ниже:
<Provider store = {RestaurantStore}>
См. здесь
Кроме того, попробуйте изменить оператор импорта с
import RestaurantStore from "../Stores/EachStores/RestaurantStore";
К :
import { RestaurantStore} from "../Stores/EachStores/RestaurantStore";
Голосование против, потому что вы не можете знать, экспортировано ли оно по умолчанию или нет. Более того, глядя на код OP и имя файла, это действительно похоже на экспорт по умолчанию. Однако первая часть вашего ответа кажется правильной.
Можете ли вы добавить свой код <Provider>, где вы устанавливаете свой магазин?