小编Nar*_*ter的帖子

Vue.js 3 和打字稿:类型“ComponentPublicInstance”上不存在属性“$store”

找不到任何东西来解决这个看似明显的问题。

刚刚使用 Typescript 从 Vue 2 升级到 Vue 3 和 Vuex。

尽管遵循 Vue 3 说明,但 this.$store 似乎无法访问。

src/components/FlashMessages.vue:28:25 TS2339 中的错误:属性 '$store' 不存在于类型 'ComponentPublicInstance<{}, {}, {}, { getAllFlashMessages(): Word; }, {}, EmitsOptions, {}, {}, false, ComponentOptionsBase<{}, {}, {}, { getAllFlashMessages(): Word; }、{}、ComponentOptionsMixin、ComponentOptionsMixin、EmitsOptions、字符串、{}>>'。

    26 |     computed: {
    27 |         getAllFlashMessages (): FlashType {
  > 28 |             return this.$store.getters.getFlashMessages;
       |                         ^^^^^^
    29 |         },
    30 |     },
    31 | 
Run Code Online (Sandbox Code Playgroud)

主文件

import { createApp } from 'vue'
import App from './App.vue'
import './registerServiceWorker'
import …
Run Code Online (Sandbox Code Playgroud)

typescript vue.js vuex vuejs3 vuex4

35
推荐指数
2
解决办法
2万
查看次数

解构对象作为函数参数

我不明白const Posts下面的参数。我对节点/反应相当陌生。它是一个解构的参数对象吗?或者它只是一个作为参数传递的对象?

getPosts 和 post 显示为未定义。但我不明白参数对象从哪里传递到函数中......

完整代码在这里:https : //github.com/bradtraversy/devconnector_2.0/blob/master/client/src/components/posts/Posts.js

提前致谢!!

import React, { Fragment, useEffect } from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import Spinner from '../layout/Spinner';
import PostItem from './PostItem';
import PostForm from './PostForm';
import { getPosts } from '../../redux/actions/post';

const Posts = ({ getPosts, post: { posts, loading } }) => {
  useEffect(() => {
    getPosts();
  }, [getPosts]); ```

Run Code Online (Sandbox Code Playgroud)

javascript destructuring reactjs

4
推荐指数
1
解决办法
1561
查看次数

标签 统计

destructuring ×1

javascript ×1

reactjs ×1

typescript ×1

vue.js ×1

vuejs3 ×1

vuex ×1

vuex4 ×1