账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    dva.js 中router push没有效果。
    • 2018-08-23 00:00
    • 11
    37
    -1
            *del({ id }, { call, put }) {
                const response = yield call(delAdvertiser, id);
    
                if (response.status === true) {
                    message.success('操作成功');
                    // yield put({
                    //     type: 'needRefresh',
                    //     payload: true,
                    // });
                    yield put(routerRedux.push('/customer/advertiser/list'));
                }
                else {
                    message.error("操作失败");
                }
            },

    现在一个异步删除操作,删除后刷新页面。可是使用dva的routerRedux.push后并没有刷新,页面还是原来的页面。。。是不是因为我push的地址和当前的地址一样,所以没有刷新呢?我增加的时候从/edit 到/list就是可以的。。。但是删除的时候从/list到/list就不可以。。。

    0
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • -1
    • 沫年℅夏至未至 普通会员 1楼

      在Dva.js中,router.push方法用于将一个路由组件推送到新的位置。但是,如果你在路由组件中没有正确地调用这个方法,那么它可能会不会生效。

      以下是一些可能的原因:

      1. 没有在正确的路由组件中调用push方法。你需要确保你已经在正确的路由组件中创建了一个对象,并且该对象包含了需要被推送到新位置的路由组件的名称。

      2. 确保你的路由组件在被路由到新的位置后被正确地更新了。这可能需要你使用replace方法而不是push方法。

      3. 如果你的路由组件使用了useRouter钩子,确保你在useRouter钩子中正确地处理了路由组件的更新。

      以下是一个示例,展示了如何在Dva.js中使用push方法:

      ```jsx import { BrowserRouter as Router, Route, Switch } from "dva/router";

      function App() { return ( ); }

      export default App; ```

      在这个示例中,我们有一个包含三个路由组件的Switch组件。当我们访问/路径时,我们会被路由到Home组件;当我们访问/about路径时,我们会被路由到About组件;当我们访问/contact路径时,我们会被路由到Contact组件。

      如果你在Home组件中使用了router.push方法,那么这个方法应该会成功。如果你在About组件中使用了router.push方法,那么这个方法也应该会成功。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部