0

it can Compile and node successful. But when open in chrome,crash and warning :React.createElement: type should not be null , undefined, boolean, or number. It should be a strin g (for DOM elements) or a ReactClass (for composite c omponents).

here some files , and exactly code has no bug. Can anyone help me ? My OS is winX64

package.json

{
  "name": "babel",
  "version": "1.0.0",
  "description": "babel test",
  "main": "server.js",
  "scripts": {
    "build": "babel -d . src/",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "taohx",
  "license": "ISC",
  "dependencies": {
    "react": "^15.3.2",
    "react-dom": "^15.3.2"
  },
  "devDependencies": {
    "babel-cli": "^6.16.0",
    "babel-preset-es2015": "^6.16.0",
    "babel-preset-react": "^6.16.0",
    "babel-preset-stage-2": "^6.17.0"
  }
}

here is crash info

Warning: React.createElement: type should not be null, unde
fined, boolean, or number. It should be a string (for DOM e
lements) or a ReactClass (for composite components).
D:\nodeJS\JS\2016-10-21\react_demo\reactBabel\node_modules\
react\node_modules\fbjs\lib\invariant.js:45
    throw error;
    ^

Invariant Violation: Element type is invalid: expected a st
ring (for built-in components) or a class/function (for com
posite components) but got: object.
    at invariant (D:\nodeJS\JS\2016-10-21\react_demo\reactB
abel\node_modules\react\node_modules\fbjs\lib\invariant.js:
38:15)
    at instantiateReactComponent (D:\nodeJS\JS\2016-10-21\r
eact_demo\reactBabel\node_modules\react\lib\instantiateReac
tComponent.js:70:134)
    at D:\nodeJS\JS\2016-10-21\react_demo\reactBabel\node_m
odules\react\lib\ReactServerRendering.js:45:31
    at ReactServerRenderingTransaction.Mixin.perform (D:\no
deJS\JS\2016-10-21\react_demo\reactBabel\node_modules\react
\lib\Transaction.js:138:20)
    at renderToStringImpl (D:\nodeJS\JS\2016-10-21\react_de
mo\reactBabel\node_modules\react\lib\ReactServerRendering.j
s:44:24)
    at Object.renderToString (D:\nodeJS\JS\2016-10-21\react
_demo\reactBabel\node_modules\react\lib\ReactServerRenderin
g.js:74:10)
    at Server.<anonymous> (D:\nodeJS\JS\2016-10-21\react_de
mo\reactBabel\server.js:20:101)
    at emitTwo (events.js:87:13)
    at Server.emit (events.js:172:7)
    at HTTPParser.parserOnIncoming [as onIncoming] (_http_s
erver.js:533:12)

1 Answers1

0

See this answer by Dan Abramov: https://stackoverflow.com/a/36796281/5644980

You most likely have a named vs default exports issue.

Community
  • 1
  • 1
Carlos Sultana
  • 709
  • 5
  • 11