javascript - 如何在服务器端渲染ES6方式上管理React组件?

标签 javascript reactjs babeljs react-router

我使用react,react-router,babel(es6),webpack和组件都呈现在服务器端和客户端。

有时我应该确定一个组件是在节点还是浏览器上呈现的。 isomorphic500的解决方案很好。

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>
        )
    }
}


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

最佳答案

我会用let代替所有的变量。在大多数情况下,一切看起来都不错。

关于javascript - 如何在服务器端渲染ES6方式上管理React组件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34749155/

相关文章:

javascript - ReactJS如何获取日期输入的值?

node.js - Node v6 是否需要 Babel 转译?

javascript - 模式中的关闭链接正在关闭成功消息 div 的所有实例

javascript - ES6 推送并绑定(bind)到数组

javascript - 减少谷歌地图成本,只调用谷歌地图 javascript api

javascript - Bootstrap 3 从 URL 展开 Accordion

html - 如何从 URL 压缩图像?

reactjs - 我如何在 React 中的两个状态之间设置动画并在转换期间查看两个状态

reactjs - 如何在 babel-plugin-module-resolver 中使用 root 选项?

javascript - React.renderComponent 不是函数