react-typescript 项目

推荐的组件库https://chakra-ui.com/;

路由react-router-dom:outlet部分的路由得由:import {Suspense} from 'react',的Suspense包裹;

配置@修饰符:

1.下载:npm i babel-plugin-import customize-cra react-app-rewired --save-dev

2.在根目录下创建config-overrides.js

const path = require('path');

module.exports = function override(config, env) {
  config.resolve.alias['@'] = path.resolve(__dirname, 'src');

  return config;
};

3.在根目录下创建paths.json

{
    "compilerOptions": {
      "baseUrl": ".",
      "paths": {
        "@/*": ["src/*"]
      }
    }
  }

4.修改package.json

  "scripts": {
    "start": "react-app-rewired start",
    "build": "react-app-rewired build",
    "test": "react-app-rewired test",
    "eject": "react-scripts eject"
  }

5.在tsconfig.json中添加baseUrl,paths.

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx"
  },
  "include": [
    "src"
  ],
  "extends": "./paths.json"
}

6.搜索框防抖节流的实现

npm i  lodash

import {debounce} from 'lodash';

 // 搜索框内容

  const [text,setText] = useState<string>('');

//防抖节流后的数据可作为异步请求的参数

  const [txt,setTxt] = useState<string>('');

  // 搜索框防抖功能的实现

  const sendQuery = (query:any) => setTxt(query);//这里可以进行异步操作

  const delayText = useCallback(debounce(q => sendQuery(q), 500), []);

  const searchCustomer = (e:any) => {

    setText(e.target.value);

    delayText(e.target.value);

  };

<input value={text} onChange={searchCustomer}/>

//加入正则表达式实现搜索功能

let reg = new RegExp(字符串/变量, "g"),可选g,i,m,分别用于指定全局匹配、区分大小写的匹配和多行匹配

正则表达式():let reg = new RegExp("(" + query + ")", "g");

reg.test(要验证的内容)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值