React 18 useEffect执行了两次

useEffect 在以下两种情况下会执行两次。 仅在开发模式下 :这是每个人本地开发时构建应用的模式。 在严格模式下 :这个是在使用 create-react-app 或者 Next.js 构建应用时的默认模式。 阻止 useEffect 执行两次的方法只有一个,那就是 关闭严格模式 在 Next.j...

React组件使用泛类型

class类组件: // 定义组件 class MyComponent<P> extends React.Component<P> { internalProp: P; constructor(props: P) { super(props); this.internalProp = props; }...

React父组件调用子组件的方法

类组件中 React.createRef() 优点:通俗易懂,用ref指向。 缺点:使用了HOC的子组件不可用,无法指向真是子组件 比如一些常用的写法,mobx的@observer包裹的子组件就不适用此方法。 import React, { Component } from 'react'; class...

宝塔

Centos全新安装命令:根据系统执行框内命令开始安装(大约2分钟完成面板安装)升级后可能需要重启面板 Ubuntu/Deepin全新安装命令: wget -O install.sh http://v7.hostcli.com/install/install-ubuntu_6.0.sh && sudo...

cli 安装npminstall

import npminstall from 'npminstall' ; npminstall({ root: this.targetPath, storeDir: this.storePath, registry: getNpmRegistry(), pkgs: [ { name: this.pac...

使用lerna管理大型前端项目

一、前言 最近准备开发前端的一个模块化的库,业务级别,要求可以任意插拔随意组合。大型工程,需要多人维护。 以前的项目都是业务级,单个包项目。简单,便于管理。但是,当一个大的项目库代码量剧增之后,管理起来就是一件比较麻烦的事情,为了方便代码的共享,就需要将代码库拆分成独立的包。 调研了一下 lerna 库...

vscode eslint

settings.json: "eslint.options": { "overrideConfig": { "env": { "browser": true, "es6": true }, "parserOptions": { "ecmaVersion": 2020, "sourceType": "m...