Store 允许使用store.subscribe方法设置监听函数,一旦 State 发生变化,就自动执行这个函数。
store.subscribe方法返回一个函数,调用这个函数就可以解除监听。
完整代码
import React, {useEffect} from 'react';import store from '../../Store/index';import {addAction, decAction} from '../../Action';export default function Three(props:any){const add = (payload:number) => {return () => {const actionAdd = addAction(payload);store.dispatch(actionAdd)}}const dec = (payload:number) => {return () => {const actionDec = decAction(payload);store.dispatch(actionDec);}}useEffect(() => {// 监听state的变化let unsubscribe = store.subscribe(() => {console.log('监听中..',store.getState())})return () => {// 取消监听unsubscribe();}},[])return(<><h2>这是Ⅲ页</h2><button onClick={add(4)}>点击添加4</button> <button onClick={dec(2)}>点击减去2</button></>)}