javascript - React - 如何从普通类进行导航(无 Redux)

标签 javascript reactjs single-page-application

我有一个普通类(意味着它不是从 React.Component 扩展的),并且我想转到新路线):

class CalculatorService {

  constructor() {
  }

  sum(a, b){ return a+b; }
  minus(a, b){ return a-b; }
  goSomeWhere(){ GO TO HOME PAGE. What do I put here? }

}

export default CalculatorService;

当然,我将此类导入到 React 组件中并从那里使用其功能,当我执行 goSomeWhere 时,它应该转到不同的页面,即使此类是一个逻辑类并且没有任何内容与 React 相关。

到目前为止,我的解决方案是使用一个名为 react-navigation 的库,但没有效果,因为我不理解它。我还尝试将函数传递到构造函数中,以便它可以调用某些可以导航的组件的方法。但这些都不起作用。

最佳答案

这个想法不是在 CalculatorService 类中调用路由更改,而是从该类获取 callbackreturn 响应当您想要更改路线时收到通知(当然,如果您的所有代码都是同步的,则不一定需要“通知”)并在 React 组件中更改路线。

关于以编程方式更改路线,请引用我的另一个答案 Stateless component React router

关于javascript - React - 如何从普通类进行导航(无 Redux),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50919081/

相关文章:

php - PhoneGap FileTransfer 和服务器端脚本

javascript - ReactJs - 如何在一个组件内传递数据

javascript - 使用 React 传单注册事件

reactjs - Jest 意外标识符 : React

javascript - 我有一个随机化器,可以在单击按钮(工作)时从数组中输出一个句子,但第二次单击会输出完全相同的句子

javascript - 测验游戏选择在 Javascript 中无法正常工作

javascript - react .js : attach event from parent to children

rest - 如何避免在具有深度链接的 RESTful 客户端/服务器 Web 应用程序中对 URL 进行硬编码?

angular - IdentityServer 外部身份验证提供程序 - 身份验证回调 - 重定向 - 400 错误请求

javascript - 用于单页应用程序的带有 Javascript 的 Spring Boot