web-dev-qa-db-fra.com

L'état du magasin Vuex n'est pas défini

J'essaie d'utiliser Vuex ("^2.1.3") avec vuejs ("^2.1.10") project de cette manière:

store.js:

import Vue from 'vue';
import Vuex from 'vuex';
Vue.use(Vuex);

export const store = new Vuex.Store({
    state: {
        inTheaters: [
            {
                name: 'Resident Evil: The Final Chapter',
                poster_url: 'https://blackgirlnerds.com/wp-content/uploads/2017/02/Resident-Evil-The-Final-Chapter-Final-Poster-Featured.jpg',
                language: 'English',
            },
            {
                name: 'Irada',
                poster_url: 'http://filmywave.com/wp-content/uploads/2017/02/irada-movie-poster-1.jpg',
                language: 'Hindi',
            },
        ]
    },
});

main.js:

import store from './store';

new Vue({
    router,
    components: {App},
    template: '<App/>',
    store,
}).$mount('#app');

some-component.js:

<script>
    export default {
        name: 'movieListWrapper',
        props: {
            movieListType: {
                type: String,
                default: 'in-theateras',
            },
        },
        computed: {
            movieList() {
                return this.$store.state.inTheaters;
            }
        },
    }
</script>

J'ai maintenant deux problèmes:

  1. Tout d'abord, je reçois un avertissement dans ma console

"export 'default' (importé en tant que 'store') est introuvable dans './store'

  1. L'autre problème est que le state n'est pas défini.

TypeError non capturé: impossible de lire la propriété "état" de non défini

Je suis très nouveau dans ce domaine et il se peut que je manque quelque chose, veuillez me pardonner. Qu'est-ce que je rate?

11
Kakar

Dans votre store.js:

export default new Vuex.Store({ au lieu de export const store = new Vuex.Store({

Ou comme l'a dit @dfsq import {store} from './store';

17
Traxo