Vue & Фильтр массива геттеров Vuex вызывает ошибку только онлайн - PullRequest
0 голосов
/ 14 апреля 2020

Я не могу получить интерфейс для отображения моего вычисленного свойства. Что бы я ни пробовал в последние дни, это терпит неудачу. Локально все отрисовывается нормально, в Интернете я получаю ошибку. У кого-нибудь когда-нибудь была эта проблема? кажется, вы не можете создать геттер на основе другого геттера с array.filter!?

индекс Vuex. js

    state: {
    posts: [],
},

мои геттеры

  posts: state => state.posts,
postsNews: state => {
    return state.posts.filter(post => post.category.description === 'News').slice(0, 3);
},

вычислено

 computed: {
    ...mapGetters(['postsNews', 'posts']),

интерфейс

       <div v-if="posts && posts.length" class="hidden md:flex  flex-wrap -mx-2    mt-5">
                <div class="flex flex-wrap">
                    <ArtikelCard class="cursor-pointer w-1/2"
                                 v-for="(post, index) in postsNews" :key="index"
                                 :post="post"/>
                </div>
            </div>

моя мутация:

   [SET_POSTS] (state, payload) {

    state.posts = payload;
},

мое действие

    getPosts ({ commit, getters }, payload = '') {
    commit(TOGGLE_LOADER, { condition: true });

    axios.get(`${API}/posts/paginated?${payload}`, headers(getters))
        .then(response => {
            commit(SET_POSTS, response.data.data);
            console.log(response.data.data);

        }).catch(error => {
        unauthenticated(error.response.status, commit);
        commit(TOGGLE_LOADER, { condition: false });
        consoleDev('getPosts', error);
    })
        .finally(() => commit(TOGGLE_LOADER, { condition: false }));
},

ошибка ...

chunk-vendors.433933fc.js:7 TypeError: Cannot read property 'description' of null
at app.9a6615b5.js:1
at Array.filter (<anonymous>)
at postsNews (app.9a6615b5.js:1)
at O.t._wrappedGetters.<computed>.t._wrappedGetters.<computed> (chunk-vendors.433933fc.js:13)
at kr.<anonymous> (chunk-vendors.433933fc.js:13)
at nr.get (chunk-vendors.433933fc.js:7)
at nr.evaluate (chunk-vendors.433933fc.js:7)
at kr.postsNews (chunk-vendors.433933fc.js:7)
at Object.get [as postsNews] (chunk-vendors.433933fc.js:13)
at a.n.<computed> (chunk-vendors.433933fc.js:13)

1 Ответ

0 голосов
/ 14 апреля 2020

Локально работает - консоль

(35) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, __ob__: Observer]

Локальный вывод на консоль

  {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, __ob__: Pt]

0: id: (...) file: (... ) file_type: (...) file_conversions: (...) title: (...) slug: (...) text: (...) preview_text: (...) external_link: (...) автор: (...) категория: идентификатор объекта: (...) описание: слаг "Software": (...) константа: (...) код цвета: (...)

но онлайн это не то, почему я так раздражен. не могу найти проблему, пока я не разверну в промежуточной стадии:

chunk-vendors.433933fc.js:7 TypeError: Cannot read property 'description' of null
at app.eea11d3b.js:1
at Array.filter (<anonymous>)
at postsNews (app.eea11d3b.js:1)
at O.t._wrappedGetters.<computed>.t._wrappedGetters.<computed> (chunk-vendors.433933fc.js:13)
at kr.<anonymous> (chunk-vendors.433933fc.js:13)
at nr.get (chunk-vendors.433933fc.js:7)
at nr.evaluate (chunk-vendors.433933fc.js:7)
at kr.postsNews (chunk-vendors.433933fc.js:7)
at Object.get [as postsNews] (chunk-vendors.433933fc.js:13)
at a.n.<computed> (chunk-vendors.433933fc.js:13)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...