代码之家  ›  专栏  ›  技术社区  ›  tcoulson

Redux操作创建者完成,更新订阅的组件

  •  0
  • tcoulson  · 技术社区  · 6 年前

    在过去,我会使用componentwillreceiveprops并检查更改,但这已经不适用于getDerivedStateFromProps。这似乎是我可以走的一条路,但我也考虑过使用RXJS调用可观察的对象,但我看不到任何做我特别想要完成的事情的例子(动作创建者完成的通知)。有人有同样的问题吗?RXJS与getDerivedStateFromProps相比,哪种方法更好?我也在使用redux thunk,但我看不到任何方式将订阅绑定到动作创建者。提前谢谢。

    编辑:示例代码

    export function setNumRecords(val){
        return dispatch => {
            localStorage.setItem('numRecords', val);
            dispatch({type: 'SET_NUM_RECORDS', numRecords:val})
        };
    }
    

    当分派完成时,我希望搜索组件更新。我不确定还需要多少代码。

    1 回复  |  直到 6 年前
        1
  •  1
  •   Anas    6 年前

    要将redux observable设置为应用程序中的中间件,请执行以下操作:

    https://redux-observable.js.org/docs/basics/SettingUpTheMiddleware.html

    import { ofType } from 'redux-observable';
    import {
      tap,
      mapTo,
    } from 'rxjs/operators';
    
    const setNumRecordsEpic = action$ => action$.pipe(
        ofType('SET_NUM_RECORDS'),
        tap(() => console.log('Here...'))
        mapTo({ type: 'SOME_OTHER_ACTION' })
    );