如何在React组件中动态加载js脚本

网上找了很多方案,比如react-helmet等各种包,都不行。

从原理上,他们都是类似如下的原生方案:
const script = document.createElement("script");
script.src = url;
document.head.appendChild(script);
这种方案是存在问题的,script是异步加载的,不等加载完毕直接往下执行,是找不到对象的。

这里给出最终解法:在onload回调中再渲染。
interface Prop[......]

继续阅读

使用AntDesign的MenuItem如何再集成React Router

新版AntD已经不能使用MenuItem了,而是需要传入数据,这样使用React Router会有点麻烦。

解决方案是给Menu做一个click事件,里面再使用useNavigate分发路由,如下:
import { Breadcrumb, Layout, Menu } from 'antd';
import React, { Fragment } from 'react';
import {
Routes,
Route,
useNavigate
} from "[......]

继续阅读

sqlcl用法

sqlcl是由Oracle官方推出的一款轻量级sql命令行客户端工具,基于Java开发,可以替代臃肿、安装麻烦的sqlplus。

官网下载:https://www.oracle.com/tools/sqlcl/sqlcl-relnotes-203.html

我推荐的这个版本是可以JDK8,最新版必须JDK11,你懂得。

通过service_name连接:
./bin/sql user/pass@ip:1521/service_name
通过sid连接 (待验证):
sql[......]

继续阅读