Javascript 如何在服务器端以es6方式管理react组件?

Javascript 如何在服务器端以es6方式管理react组件?,javascript,reactjs,babeljs,react-router,Javascript,Reactjs,Babeljs,React Router,我使用react、react router、babel(es6)、webpack和组件同时呈现在服务器端和客户端 有时我应该确定某个组件是在节点或浏览器上渲染的。”s的解决方案很好 import React from 'react'; ... if (process.env.BROWSER) { require("some.css"); var someLib = require("only-works-on-browser-lib"); var BrowserCompo

我使用react、react router、babel(es6)、webpack和组件同时呈现在服务器端和客户端

有时我应该确定某个组件是在节点或浏览器上渲染的。”s的解决方案很好

import React from 'react';
...
if (process.env.BROWSER) {
    require("some.css");
    var someLib = require("only-works-on-browser-lib");
    var BrowserComponent = require("Only-works-on-browser-component")
}

export default class Comp extends React.Component {
    render() {
        var browserComp;
        if (process.env.BROWSER) {
            browserComp = <BrowserComponent />
        } else {
            browserComp = null; 
        }

        return (
            <div>
                {browserComp}
            </div>
        )
    }
}
从“React”导入React;
...
if(process.env.BROWSER){
需要(“some.css”);
var someLib=require(“仅适用于浏览器库”);
var BrowserComponent=require(“仅适用于浏览器组件”)
}
导出默认类Comp.Comp组件{
render(){
var browserComp;
if(process.env.BROWSER){
浏览器代码=
}否则{
browserComp=null;
}
返回(
{browserComp}
)
}
}

但我正在寻找更多的es6方法。有更好的方法吗?

我会用let替换所有的变量。大部分情况下,一切看起来都很好

我会用let替换所有变量。大部分情况下,一切看起来都很好

您的代码在我看来像ES6。可能在renderToString时我需要忽略一些视图。您的代码在我看来像ES6。可能在renderToString时我需要忽略一些视图。