小编Die*_*ero的帖子

为什么我的 nextjs 组件渲染两次?

这是一个从 Firebase 存储呈现数据并将其列出的组件。该函数要做的就是将从 firebase 存储中提取的视频设置为 useState。这样我就可以调用视频并映射到一个新组件中,该组件恰好是一个按钮列表。它工作得相对很好,问题是该组件渲染了两次,第一次它不保存状态中的视频,第二次它这样做。换句话说,该组件不会等待视频保存在状态中,而只是渲染自身,导致带有视频标题的按钮列表不显示。

// ReactJS
import { useState, useEffect } from "react";

// NextJS
import { useRouter } from "next/router";

// Seo
import Seo from "../../../components/Seo";

// Hooks
import { withProtected } from "../../../hook/route";

// Components
import DashboardLayout from "../../../layouts/Dashboard";

// Firebase
import { getDownloadURL, getMetadata, listAll, ref } from "firebase/storage";
import { storage } from "../../../config/firebase";

// Utils
import capitalize from "../../../utils/capitalize";
import { PlayIcon } from "@heroicons/react/outline";

function Video() {
  // States
  const [videos, setVideos] …
Run Code Online (Sandbox Code Playgroud)

reactjs firebase-storage next.js use-effect use-state

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

如何使用 nodejs 模块 http2 将 http2 与 ExpressJS 集成?

我正在使用 nodejs 和 express 创建一个 api,我想将 http2 与 ExpressJS 集成

这是我的代码:

'use strict';

const http2 = require('http2');
const fs = require('fs');
const path = require('path');

const express = require('express');
const bodyParser = require('body-parser');

const app = express();
const port = process.env.PORT || 443;

// Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));

// Routes variables
const indexRouter = require('./routes/index');

// Routes uses
app.use('/', indexRouter);

// Server configurations
const key = path.join(__dirname + '/security/key.pem');
const cert = path.join(__dirname + '/security/certificate.pem');

const options = …
Run Code Online (Sandbox Code Playgroud)

node.js express http2

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

解析错误:关键字“interface”被保留

我正在为 API 上的 CRUD 操作创建 NodeJS 和 MongoDB 库。我正在尝试使用 Typescript 创建一个接口来获取 url 和数据库名称,如下所示:

但我收到以下错误:

interface IConfig {
  url: string
  name: string
}

export default IConfig
Run Code Online (Sandbox Code Playgroud)

Parsing error: The keyword 'interface' is reserved

我使用 standardjs 作为 linter,这是我的tsconfig文件:

{
  "compilerOptions": {
    /* Visit https://aka.ms/tsconfig.json to read more about this file */

    /* Projects */
    // "incremental": true,                              /* Enable incremental compilation */
    // "composite": true,                                /* Enable constraints that allow a TypeScript project to be used with project references. */ …
Run Code Online (Sandbox Code Playgroud)

typescript

17
推荐指数
1
解决办法
3万
查看次数

尝试将 tailwindcss 图标放入输入中

我正在尝试将图标放在输入中的左侧。tailwindcss 有一个用于 ReactJS 的库,其中包含 SVG 和组件作为图标:https: //heroicons.com/

我的组件:

import React from 'react'
import { MailIcon } from '@heroicons/react/solid'

const BlogPost = () => (
  <section className="container-full flex flex-col m-20">
    <h2 className="mx-auto uppercase font-bold">Check my blogpost</h2>
    <form action="POST" className="mx-auto mt-5 w-6/12">
      <label htmlFor="email">
         <MailIcon className="w-8 h-8" />
        <input className="form-input w-full" type="email" name="email" id="email" placeholder="email@kemuscorp.com" />
      </label>
    </form>
  </section>
)

export default BlogPost
Run Code Online (Sandbox Code Playgroud)

如您所见,MailIcon 组件可以接收 tailwindcss。有想法将图标嵌入输入中吗?

html css icons reactjs tailwind-css

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

查找列表中的第一个非连续数字

挑战是在 python 中找到第一个非连续数字。我已经成功地使用一个名为 more_itertools 的库来做到这一点,但挑战要求不涉及任何库。我该如何解决?这是我的代码:

from more_itertools import consecutive_groups

def first_non_consecutive(l):
    g = []
    for grp in consecutive_groups(l):
        g.append(list(grp))
    if len(g) > 1:
        return g[1][0]
Run Code Online (Sandbox Code Playgroud)

python list python-3.x

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