Javascript 如何在旧项目上使用带有ES6语法的react 0.13?

Javascript 如何在旧项目上使用带有ES6语法的react 0.13?,javascript,reactjs,Javascript,Reactjs,我有一个类似jquery的老项目。我们的团队开始开发新功能,我想在此使用React 0.13。我将脚本放入站点文件夹(react.0.13.min.js、JSXTransformer.js),并在下面放入我的app.react.js 在这种情况下,我如何编写一些测试代码? 我尝试键入: 'use strict'; class Story extends React.Component { render() { var story = this.props.story; re

我有一个类似jquery的老项目。我们的团队开始开发新功能,我想在此使用React 0.13。我将脚本放入站点文件夹(react.0.13.min.js、JSXTransformer.js),并在下面放入我的app.react.js

在这种情况下,我如何编写一些测试代码? 我尝试键入:

'use strict';

class Story extends React.Component {
  render() {
    var story = this.props.story;
    return (
      <View>
        <Image uri={story.author.profile_picture.uri} />
        <Text>{story.author.name}</Text>
        <Text>{story.text}</Text>
      </View>
    );
  }
}
“严格使用”;
类故事扩展了React.Component{
render(){
var story=this.props.story;
返回(
{story.author.name}
{story.text}
);
}
}

从Chrome调试器,我可以访问React变量。我需要做什么?

我解决了我的问题。如果您有旧项目,可以执行以下操作:

1) 安装gulp/grunt巴别塔

2) 为预编译ES6到ES5编写任务,如为gulp编写任务:

var gulp = require("gulp");
var babel = require("gulp-babel");

gulp.task("default", function () {
  return gulp.src("app/assets/react/app.react.jsx")
    .pipe(babel())
    .pipe(gulp.dest("app/assets/javascripts/"));
});
3) React lib文件的链接:

<script src="http://fb.me/react-0.13.1.js"></script>
<script src="http://fb.me/JSXTransformer-0.13.1.js"></script>


4) Enjouy ES6语法和反应能力;)

您是否正确地包含了脚本和JSX transformer脚本?有一个例子:@wiredpairie your right,但在这个例子中,它们不使用ES6类语法。可能我需要为此加载另一个脚本?您需要预编译它。你可以用巴别塔之类的东西。请注意,如果您支持较旧的浏览器,它可能无法工作,或者您可能需要垫片。您几乎总是需要垫片,但如果您需要支持,IE8上存在一些无法解决的问题。另外,您的代码示例看起来像react-native,请确保您位于正确的站点。@FakeRainBrigand它不是react-native。这是从-你说的对-我需要垫片。你可以删除jsx变压器。巴贝尔为您进行jsx转换。