fetch()
是爲瀏覽器設計的,而後在第三方模塊中後端移植到node.js,因此須要安裝node-fetch;
import fetch from 'node-fetch'
const Home = () => { useEffect(() => { Home.getData() }) return( <div></div> ) } //靜態方法 Home.getData = () => { // console.log(123); }
export default [ { path: '/', exact: true, getData: Home.getData, component: Home, },{ path: '/Login', getData: ()=>{console.log('getData login')}, component: Login } ]
//匹配咱們的路由 const mathPath = matchRoutes(Routers,req.path); //遍歷匹配到的路由 執行對應的方法 因爲方法是異步的使用promise.all來在全部方法執行完畢以後 再渲染store mathPath.map(path=>{ path.route.getData? promiseAll.push(path.route.getData(Store.dispatch)):'' }) Promise.all(promiseAll).then(()=> { //執行html字符串的生成 })
項目地址:git@github.com:longlongdan/Reactssr.githtml