IT虾米网

reactjs之react + sails : Handling Routes

Free-Thinker 2026年05月17日 程序员 69 0

我正在使用 Sails 和 React 开发一个 Web 应用程序。我使用 sails 的主要目的是利用 MVC 模式,而 React 则用于服务 View 。因为,Sails 提供了自己的路由,但我想使用我的 React-router。

例如:在react-router中我们有NotFoundRoute,所以当我访问不存在的页面时,它应该显示我为NotFoundRoute <定义的处理程序< code> 。相反,它向我显示 sails 404 页面。

那么当我想使用我的 React 路线时如何控制 sails 路线?

react 路线

var JSX = require('babel/register'), 
    React = require('react'), 
    Router = require('react-router'), 
    DefaultRoute = Router.DefaultRoute, 
    NotFoundRoute = Router.NotFoundRoute, 
    Route = Router.Route; 
 
 
var routes = ( 
        <Route name="splash" path="/" handler={require('../main')}> 
            <DefaultRoute handler={require('../components/Signup/signup')} />    
            <Route name="signup" path="/user/signup" handler={require('../components/Signup/signup')} />     
            <Route name="home" path="/user/home/:id" handler={require('../components/Home/home')} /> 
            <NotFoundRoute handler={require('../components/commons/notFound')} /> 
        </Route> 
    ); 
 
module.exports = routes; 

sails 路线

module.exports.routes = { 
 
 
  '/': { 
    view: 'homepage' 
  }, 
 
  '/user/home/:id' : 'UserController.home' 
 
 
}; 

我对这个框架完全陌生,无法在网上找到足够的资源。很抱歉这个愚蠢的问题。

请您参考如下方法:

module.exports.routes = { 
  '/': { 
    view: 'homepage' 
  }, 
  '/user/home/:id' : 'UserController.home' 
  '/*' : 'ReactApp.home' 
}; 

您需要创建一个通配符路由,以便在 api 路由丢失时呈现 React 应用程序。 http://sailsjs.org/documentation/concepts/routes/custom-routes


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!