2016-05-18 24 views
0

使用打字稿1.8.10与VS 2015和得到以下错误而试图使用反应路由器:打字稿&阵营/ JSX:JSX元素的属性类型“T”必须是一个对象类型

import * as React from "react"; 
import * as ReactDOM from "react-dom"; 
import { Router, browserHistory } from "react-router"; 
import routes from "./routes"; //get default 

ReactDOM.render(
    <Router routes={routes} history={browserHistory} />, 
    document.getElementById("app") 
); 

路由(摘自 “./routes”)

import App from "./components/App"; 

export default { 
    component: "div", 
    childRoutes: [{ 
     path: "/", 
     component: App, 
    }] 
}; 

error image: JSX element attributes type 'T' must be an object type

+0

显示您的routes.tsx内容。 – Aaron

+0

添加路线代码 –

回答

0

您未导入你的路线正确对象。由于您使用export default必须使用default import syntax

import routes from "./routes"; 
+0

感谢您的帮助。即使路由的新导入(上面的更新屏幕截图),该错误仍然存​​在。 –

+0

当你使用console.log(Router,routes)时,你会得到什么? – Aaron

0

在这一点上,这个错误不会从编译代码到JS所以我只是忽略了VS 2015 IDE中的错误停止打字稿。它真的只是一个令人讨厌的红色波浪曲线...

相关问题