1.6 KiB
0.8 Upgrade guide
The necessary changes depend on what environment you target, and how you want to provide React.
Browser - Cljsjs
Using Reagent itself with Cljsjs packages doesn't require changes, other than making sure you depend on the latest Cljsjs React packages, if you have direct dependencies to them.
Browser - node modules
You can use :npm-deps
and :install-deps
compiler options to
install the packages automatically.
If react
, react-dom
and create-react-class
are available in node_modules
directory, ClojureScript compiler will use these with Reagent. This
doesn't depend on use of :npm-deps
option! :npm-deps
option is only about
installing the dependencies, if packages are available in node_modules
directory, they will be used.
You can use :process-shim
compiler option to provide process.env.NODE_ENV
constant which is used by JS code to enable development and production
builds. ClojureScript compiler will automatically set this constant to
production
value when using :advanced
optimizations. This enables
the React production build.
NodeJS
Install react
, react-dom
and create-react-class
npm packages,
and ClojureScript should automatically use require
to
load React for Reagent.
Electron
???
React-native
https://github.com/drapanjanas/re-natal/issues/128
Common Problems
Mismatch with Cljsjs and npm packages
If you have one npm package installed, e.g. react
, you also need
to provide others (react-dom
and create-react-class
), else
Cljsjs packages would be used for these, and packages from different sources
don't work together.