当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript react-router-redux.routeActions类代码示例

本文整理汇总了TypeScript中react-router-redux.routeActions的典型用法代码示例。如果您正苦于以下问题:TypeScript routeActions类的具体用法?TypeScript routeActions怎么用?TypeScript routeActions使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了routeActions类的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: redirectOnAuth

function* redirectOnAuth() {
  while (true) {
    const { signin, logout } = yield race({ signin: take(SIGNIN_SUCCESS), logout: take(LOGOUT_SUCCESS)});

    if (signin) {
      signin.performRedirect && (yield put(routeActions.push(yield call(refererPath, '/'))));
    } else {
      logout.performRedirect && (yield put(routeActions.push('/signin')));
    }
  }
}
开发者ID:rosendi,项目名称:figure,代码行数:11,代码来源:auth.ts

示例2: watchDelete

function* watchDelete() {
  while (true) {
    const { id, formId } = yield take(DELETE_SUBMISSION);
    const { auth: { api } } = yield select();

    try {
      const [{ payload: { prevRowId } }] = yield [
        take(action => action.query === 'SUBMISSIONS' && action.type === ROW_REMOVED && action.payload.row.id === id),
        api.deleteSubmission(id),
      ];

      const { submissions } = yield select();

      if (prevRowId) {
        const nextRow = submissions.rows.get(submissions.rows.findIndex(row => row.id === prevRowId) + 1);

        var redirectTo = nextRow ? nextRow.id : prevRowId;
      } else {
        var redirectTo = submissions.rows.isEmpty() ? '' : submissions.rows.first().id;
      }

      yield put(routeActions.push(`forms/${formId}/submissions/${redirectTo}`));
    } catch(error) {
      console.log(error);
    }
  }
}
开发者ID:rosendi,项目名称:figure,代码行数:27,代码来源:submissions.ts

示例3: indexRedirect

function* indexRedirect() {
  while (true) {
    yield take(REDIRECT_TO_FIRST_SUBMISSION);

    const { submissions, params: { formId } } = yield select();

    if (submissions.rows.isEmpty()) {
      var redirectTo = `forms/${formId}/submissions`;
    } else {
      var redirectTo = `forms/${formId}/${submissions.rows.get(0).id}`;
    }

    yield put(routeActions.push(redirectTo));
  }
}
开发者ID:rosendi,项目名称:figure,代码行数:15,代码来源:submissions.ts

示例4: watchIndexRedirect

function* watchIndexRedirect() {
  while (true) {
    yield take(REDIRECT_TO_FIRST_FORM);

    const { forms } = yield select();

    if (forms.rows.isEmpty()) {
      var redirectTo = 'forms/new';
    } else {
      var redirectTo = `forms/${forms.rows.get(0).id}`;
    }

    yield put(routeActions.push(redirectTo));
  }
}
开发者ID:rosendi,项目名称:figure,代码行数:15,代码来源:forms.ts

示例5: watchCreate

function* watchCreate() {
  while (true) {
    const { payload, resolve, reject } = yield take(CREATE_FORM);
    const { api } = yield select(state => state.auth);

    try {
      const { id } = yield api.createForm(payload);
      const { forms } = yield select();

      if (!forms.rows.some(form => form.id === id)) {
        yield take(action => action.query === 'FORMS' && action.type === ROW_ADDED && action.payload.row.id === id);
      }

      resolve();

      yield put(routeActions.push(`/forms/${id}`));
    } catch(error) {
      typeof error.message === 'object' ? reject(error.message) : reject({ _error: error.message });
    }
  }
}
开发者ID:rosendi,项目名称:figure,代码行数:21,代码来源:forms.ts

示例6:

export const goBack = () => {
	return routeActions.goBack();
};
开发者ID:PhilipDavis,项目名称:react-redux,代码行数:3,代码来源:GlobalActions.ts


注:本文中的react-router-redux.routeActions类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。