使用babel-macro中的ts-nameof.macro,无需弹出即可实现。
我已在以下生成的新应用程序上进行了测试:
npx create-react-app temp --template typescript
# install macro dependecies
yarn add -D ts-nameof.macro
# or
# npm i --save-dev ts-nameof.macro
注意:如果您的 react-scripts 版本低于 2.0,您还需要安装
babel-plugin-macros
作为开发依赖。
更新 App.tsx
import React from 'react';
import nameof from "ts-nameof.macro"; // import nameof
import logo from './logo.svg';
import './App.css';
function App() {
console.log(nameof(window.alert)) // "alert"
return (
<div className="App">
<header className="App-header">
<img src={logo} className="App-logo" alt="logo" />
<p>
Edit <code>src/App.tsx</code> and save to reload.
</p>
<a
className="App-link"
href="https://reactjs.org"
target="_blank"
rel="noopener noreferrer"
>
Learn React
</a>
</header>
</div>
);
}
export default App;