小编JK2*_*018的帖子

vue router 4 next() 回调警告

我一直未能成功地尝试修复此 vue-router 警告:

当从“/”转到“/”时,在一个导航防护中多次调用“下一个”回调。它应该在每个导航守卫中被调用一次。这将在生产中失败。

我已阅读官方文档(https://next.router.vuejs.org/guide/advanced/navigation-guards.html#global-before-guards),但在进行建议的更改时我不断获得无限的下一个循环,所以我我显然做错了什么。

我想做的是:让未经身份验证的用户只能导航到“/”路线。如果他们尝试进入受保护的路由,则会被重定向到“/”。让经过身份验证的用户直接登陆“/mapping”并跳过“/”路线。然后他们可以导航到任何受保护的路线。

我使用“let user = projectAuth.currentUser”验证身份验证。

预先感谢您的提示

import { createRouter, createWebHistory } from 'vue-router'
import Mapping from '../views/Mapping.vue'
import Home from '../views/Home.vue'
import TestDthree from '../views/TestDthree.vue'
import Testpage1 from '../views/Testpage1.vue'
import { projectAuth } from '../firebase/config'



// auth guard or route guard
// requires to be authenticated
const requireAuth = (to, from, next) => {
  let user = projectAuth.currentUser
  if(!user){
    next({name:'Home'})
  }
  next()
}


// no auth needed
// bypassed Home for any logged …
Run Code Online (Sandbox Code Playgroud)

vue.js vue-router vuejs3 vue-router4

9
推荐指数
1
解决办法
7370
查看次数

Babel 配置错误:当前未启用对实验语法“jsx”的支持

我正在尝试使用 Jest 为我的reactjs项目进行单元测试。

当我想测试组件的渲染时,出现以下错误:

SyntaxError: /Users/jk/EpitechProjects/T-WEB-700/CountOfMoney_18/front/src/tests/components/Navbar.test.js: 
Support for the experimental syntax 'jsx' isn't currently enabled (9:29):

       7 | 
       8 | test('Navbar : should render navbar', ()=>{
    >  9 |     const wrapper = shallow(<Navbar />);
         |                             ^
      10 |     expect(wrapper.find('nav').length).toBe(1);

Add @babel/preset-react (https://git.io/JfeDR) to the 'presets' section of
your Babel config to enable transformation. If you want to leave it as-is,
add @babel/plugin-syntax-jsx (https://git.io/vb4yA) to the 'plugins' section to 
enable parsing.
Run Code Online (Sandbox Code Playgroud)

但是,它似乎无法识别JSX语法。
我已经尝试了两者@babel/preset-react@babel/plugin-syntax-jsx建议,但仍然存在相同的错误。 …

reactjs jestjs babeljs babel-jest

2
推荐指数
1
解决办法
6828
查看次数

Vue 3 组合 API、未定义变量、生命周期

我对 Vue.js 很陌生,在开发我的第一个项目时,我偶然发现了一个我认为与组件生命周期相关的问题。

上下文如下:我正在使用带有组合 API 的 Vue 3。

我有一个“地图”组件,其中使用 d3.js 来显示图表。在我的 Setup() 方法中,我有 onBeforeMount() 和 onMounted()。在 onBeforeMount() 方法中,我想使用 Firestore 数据库中的数据作为图表中的值。第 47 行的 console.log 正确显示了数据。在 onMounted() 中,我计划放置 d3 图表。但是当我尝试访问 console.log 第 55 行中的数据时,我得到了未定义的信息...

理想情况下,我想从“地图”组件中从数据库中获取数据并使用它来创建图表,然后让组件渲染图表。然后我会有另一个名为“MapSettings”的组件,它将能够更改“Map”中的数据,例如过滤器等...并在图表中自动更新值。最后,两个组件将是兄弟组件并且具有相同的父组件因此“Map”和“MapSettings”处于同一层次结构级别。

但首先我需要理解为什么我变得不确定..任何帮助或建议将不胜感激!

在此输入图像描述

在此输入图像描述

vue.js vue-component vuejs3 vue-composition-api

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

使用索引进行列表操作

我有两个清单。

名单A:

A = ["apple","cherry","pear","mango","banana","grape","kiwi","orange","pineapple"]
Run Code Online (Sandbox Code Playgroud)

清单B:

B = [{"offset":0, "xx":789},{"offset":3, "xx":921},{"offset":6, "xx":89}]
Run Code Online (Sandbox Code Playgroud)

这个想法是使用 B 中每个项目的偏移量作为索引偏移量来设置结果数组中的 xx 值。例如,这将是预期的结果:

C=[
{"fruit":"apple","xx":789},
{"fruit":"cherry","xx":789},
{"fruit":"pear","xx":789},
{"fruit":"mango","xx":921},
{"fruit":"banana","xx":921},
{"fruit":"grape","xx":921},
{"fruit":"kiwi","xx":89},
{"fruit":"orange","xx":89},
{"fruit":"pineapple","xx":89},
]
Run Code Online (Sandbox Code Playgroud)

例如,B[0] 的“偏移量”为 0。这意味着索引 >= 0 的 C 将具有 B[0]['xx'] 的“xx”值。然后我们的 B[0]['offset'] 为 3,它将为索引 >= 3 的 C 项设置新的“xx”值,依此类推。

我能够使用数据框和 pandas 获得类似的结果。但由于 pandas 库相当重,所以要求我不使用 pandas 来完成它。

python

0
推荐指数
1
解决办法
90
查看次数