I think you are experiencing the problem b/c while the plain JS file was executing, the JSX file was still being translated by the JSXTransformer, thus has not been processed by the browser. Therefore symbols inside the JSX files were not yet defined

There are two approaches I would recommend:

For Development/Prototypes purposes: add /** @jsx React.DOM */ to the plain JS file as well, and make sure to include this js file in the HTML page as type="text/jsx" so the Transformer will attempt to translate as well.

For code that is meant to go into production, install the jsx compiler npm install -g react-tools , then run jsx <src file> <output filename> to convert your JSX file to regular javascript

see this:

p.s. you are wrapping your application entry point inside of a DOM.ready callback or something equivalent right?

Related Query

More Query from same tag