diff --git a/README.md b/README.md
index 5cd4977..be24933 100644
--- a/README.md
+++ b/README.md
@@ -40,9 +40,9 @@ npm install react-activation
## Usage
-Add `react-activation/babel` plugins in `.babelrc`
+#### 1. Add `react-activation/babel` plugins in `.babelrc`
-The plugin adds a `_ka` attribute to each JSX element during compilation to help the `` runtime generate a unique identifier by render location.
+The plugin adds a `_ka` attribute to each JSX element during compilation to help the `react-activation` runtime **generate an unique identifier by render location**.
```javascript
{
@@ -52,57 +52,64 @@ The plugin adds a `_ka` attribute to each JSX element during compilation to help
}
```
-In your business code
+#### 2. In your business code, place the `` outer layer at a location that will not be unmounted, usually at the application entrance
+
+Note: When used with `react-router` or `react-redux`, you need to place `` inside `` or ``
```javascript
-import React, { Component, useState } from 'react'
+// entry.js
+
+import React from 'react'
import ReactDOM from 'react-dom'
-import KeepAlive, { AliveScope, withActivation } from 'react-activation'
+import { AliveScope } from 'react-activation'
-@withActivation
-class Test extends Component {
- state = {
- count: 0
- }
+import Test from './Test'
- setCount = count => this.setState({ count })
+ReactDOM.render(
+
+
+ ,
+ document.getElementById('root')
+)
+```
- componentDidActivate() {
- console.log('Test: componentDidActivate')
- }
+#### 3. Wrap the components that need to keep states with ``
- componentWillUnactivate() {
- console.log('Test: componentWillUnactivate')
- }
+Like the `` component in the example
- render() {
- const { count } = this.state
-
- return (
-