首先要确保页面的props中有dispatch
    然后,如果没有的话,因为dispatch是页面中调用model中的effect的方法
    所以没有的话,用页面连接一下model就行了,props中就有了dispatch了
    然后就是dispatch的完整用法

    同时一般写成完整形式的就是,做一些增删改擦,都是需要的,不过一般,如果是
    打开页面,请求页面的数据,这个时候,就不需要写成完整形式了,也就是后面的
    if(success)和if(error)不用写了,写成简单的形式就行了

    类组件中
    this.props.dispacth({
    tyle:”model的namespace/effect中的方法名”
    payload:要传递的参数,参数也可以放到一个对象中 比如 payload:{ a:1}

    }if(success){
    当页面上面的dispatch的书写语法成功可以调用到effect中的方法,就走到success中了,同时
    如果方法调用成功的时候,还可以,从这个model中的effect抛出一个成功的参数或者回调被
    页面中的dispatch中的success接收到
    dispatch调用成功后走到success中的
    }if(error){
    调用失败后执行的回调,同样,在model中的那个effect方法中,错误的话,也会抛出一个提示错误的参数
    或者回调,被组件中dispatch中的if(error)接收到,可以用于页面提示错误
    })
    完整形式,如果写成完整形式的话 ,对应的那个effect中的方法就需要多接收一个callback函数
    同时页面中调用dispatch的完整形式是这样的,如果不是完整形式就是
    edit({payload},{call,put}) payload表示的是页面中调用这个方法的时候传递的payload参数
    没传,call用来调用异步方法的,put是用来调用reducers中的方法的,reducers的作用就是
    改变数据
    举例 effect中的方法

    *edit({payload,callback},{call,put})