小编hak*_*man的帖子

如何正确设置带有 React Context 的 Axios 拦截器?

由于我想使用 React Context 设置 Axios 拦截器,因此似乎可行的唯一解决方案是创建一个拦截器组件,以便使用 useContext 挂钩来访问 Context 状态和分派。

问题是,这会创建一个闭包,并在调用拦截器时将旧数据返回给拦截器。

我正在使用 React/Node 使用 JWT 身份验证,并且我正在使用 Context API 存储访问令牌。

这就是我的拦截器组件现在的样子:

import React, { useEffect, useContext } from 'react';
import { Context } from '../../components/Store/Store';
import { useHistory } from 'react-router-dom';
import axios from 'axios';

const ax = axios.create();

const Interceptor = ({ children }) => {
  const [store, dispatch] = useContext(Context);

  const history = useHistory();

  const getRefreshToken = async () => {
    try {
      if (!store.user.token) {
        dispatch({
            type: 'setMain', …
Run Code Online (Sandbox Code Playgroud)

javascript jwt reactjs axios jwt-auth

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

是否可以在保存/上传图像之前使用 Multer 获取图像尺寸(宽度和高度)

我正在将 Multer 与 Express 一起使用,并且在将图像上传到 AWS S3 之前尝试检索图像尺寸(宽度和高度)。

我的目标是通过图像大小、图像类型和图像尺寸来验证图像。可以使用内置的 Multer 方法验证图像大小和图像类型,但不幸的是,如果不事先保存图像,则无法检索图像尺寸。

目前,我正在本地保存图像,然后检索所述图像的尺寸,然后根据高度和宽度值决定是否应将图像上传到 S3。

我试图避免在本地保存图像只是为了检索其尺寸,然后在将其上传到 S3 后将其删除,但我不确定使用 Multer 是否可行,因为我似乎无法找到访问文件的方法,直到它实际上是上传的。

任何帮助表示赞赏。

amazon-s3 node.js express multer multer-s3

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

单击焦点区域之外时,弹出窗口不会关闭

我将 Bootstrap Vue 与 Vue.js 结合使用,并且遇到了一个问题,即我正在迭代某些项目并将其显示给用户。

问题是,当用户单击其中一个弹出窗口时,每个打开的弹出窗口都会关闭(如我所愿),但是当用户单击目标(​​打开的)弹出窗口的焦点区域之外时,它不再关闭。

看起来每次用户单击目标弹出窗口时都会运行打开动画。

这是代码:

<template>
  <div>
    <div class="row" v-for="(n, i) in 5" :key="n">
      <div :id="'popover' + visitor.id + '-' + i" @click="$root.$emit('bv::hide::popover')">
        <div class="card">
          <b-popover :target="'popover' + visitor.id + '-' + i">
            <template slot="title">
              Edit image
              <button
                class="close-popover"
                @click="$root.$emit('bv::hide::popover', 'popover' + visitor.id + '-' + i)"
              >X</button>
            </template>
          </b-popover>
        </div>
      </div>
    </div>
  </div>
</template>
Run Code Online (Sandbox Code Playgroud)

任何帮助表示赞赏!

javascript twitter-bootstrap vue.js bootstrap-vue

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