创建Login目录,把原来User/login目录文件移动到Login/index.jsx 修改目录config/router.js 修改文件太多,可以访问 git 提交记录 https://gitee.com/shizidada/moose-react-learn/commits/master 重新运行项目访问 http://localhost:8000/login 默认账号admin or user密码ant.design 使用这些账号都是走自带 mock 接口,a...
type ReactNode= ReactChild | ReactFragment | ReactPortal |boolean|null| undefined; 可以看到,ReactNode是一个联合类型,它可以是string、number、ReactElement、null、boolean、ReactNodeArray。由此可知。ReactElement类型的变量可以直接赋值给ReactNode类型的变量,但反过来是不行的。 类组件的 render 成员函数会返回 ...
import{httpBatchLink}from'@trpc/client'import{createTRPCNext}from'@trpc/next'importtype{AppRouter}from'../pages/api/trpc/[trpc]'functiongetBaseUrl(){if(typeofwindow!=='undefined'){// In the browser, we return a relative URLreturn''}// When rendering on the server, we return an absolut...
type FunctionProps={/** 任意的函数类型 ❌ 不推荐 不能规定参数以及返回值类型 */onSomething:Function;/** 没有参数的函数 不需要返回值 😁 常用 */onClick:()=>void;/** 带函数的参数 😁 非常常用 */onChange:(id:number)=>void;/** 另一种函数语法 参数是 React 的按钮事件 😁 非常常用 ...
TypeScript是JavaScript的超集,为JS带来了静态类型支持,这可以帮助我们写出更清晰可靠的接口,带来更好的IDE提示。在前端项目中使用TypeScript与React的组合已经有一段时间了,是时候写一篇博客总结分享一下。下…
现在我们开发一个 React 项目最快的方式便是使用 Facebook 官方开源的脚手架create-react-app,但是随着业务场景的复杂度提升,难免会需要我们再去添加或修改一些配置,这个时候如果对 webpack 不够熟练的话,会比较艰难,那种无力的感觉,就好像是女朋友在旁边干扰你打游戏一样,让人焦灼且无可奈何。
react-router-config 静态路由的配置 我们前端主要使用react-router-dom Router 原理 React Router甚至大部分的前端路由都是依赖于history.js的,它是一个独立的第三方js库。可以用来兼容在不同浏览器、不同环境下对历史记录的管理,拥有统一的API。 老版本浏览器: 通过hash来存储在不同状态下的history信息,对应create...
关于 interface 或 type ,我们建议遵循 react-typescript-cheatsheet 社区提出的准则:在编写库或第三方环境类型定义时,始终将 interface 用于公共 API 的定义。考虑为你的 React 组件的 State 和 Props 使用 type ,因为它更受约束。”让我们再看一个示例:import React from'react'type Props = {/** color ...
它有4个API可供调用: putObject从流上传 fPutObject从文件上传 PresignedPutObject提供一个临时的HTTP PUT 操作预签名上传链接以供上传 PresignedPostPolicy提供一个临时的HTTP POST 操作预签名上传链接以供上传 使用方法1和2的话,必须要在前端暴露用于连接MinIO的访问密钥。这样很不安全,并且官方的Js客户端也压根就没想...
Basic knowledge of REST architecture (cf.this sectionof my previous REST API article if needed) A ready installation of Node.js (preferably version 14+) In a terminal (or command prompt), we’ll create a folder for the project. From that folder, runnpm init.That will createsome of the ...