react-node-key
Version:
Automatic key-marked for React nodes, generate an unique identifier by render location
58 lines (38 loc) • 1.26 kB
Markdown
# React Node Key
[](https://github.com/CJY0208/react-node-key)
[](https://github.com/CJY0208/react-node-key)
[English](./README.md) | 中文说明
自动生成 React 组件 key 值,按渲染位置标记
## 兼容性
- React v16+
- Preact v10+
## 安装
```bash
yarn add react-node-key
# 或者
npm install react-node-key
```
## 使用方式
#### 1. babel 配置文件 `.babelrc` 中增加 `react-node-key/babel` 插件
[为什么需要它?](https://github.com/CJY0208/react-activation/issues/18#issuecomment-564360695)
该插件会于编译阶段在各 JSX 元素上增加 `_nk` 属性,帮助 `react-node-key` 在运行时**按渲染位置生成唯一的缓存 id 标识**
```javascript
{
"plugins": [
"react-node-key/babel"
]
}
```
#### 2. Use `<NodeKey>` as your component's wrapper
```javascript
import React from 'react'
import ReactDOM from 'react-dom'
import NodeKey from 'react-node-key'
import Test from './Test'
ReactDOM.render(
<NodeKey>{nodeKey => <Test key={nodeKey} />}</NodeKey>,
document.getElementById('root')
)
```