我可以在不重新加载浏览器的情况下编辑React组件吗?

Dan*_*mov 8 javascript hotswap livereload reactjs

如果React提供DOM协调,是否可以动态重新加载组件的代码并在编辑后重新呈现它?

我正在寻找一种解决方案,允许我编辑JSX文件,保存它,并让组件在浏览器中自行更新,无需重新加载页面,卸载它或丢失其状态.

理想情况下,这应该没有浏览器插件.

Dan*_*mov 14

您可以使用react-hot-loader,这是一个嵌入式Webpack加载器,可以为项目中的React组件进行实时编辑.无需浏览器插件或IDE挂钩.

它将Webpack 热模块替换(HMR)与React结合在一起.

你可以使用这个:

  • 你的React组件没有令人讨厌的副作用;
  • 你愿意切换到Webpack的模块(切换并不难,参见演练);
  • 你有几个小时(如果你已经使用Webpack,则需要几分钟).

这个怎么运作:

  • 它使用Webpack HMR API来了解"模块更新可用"事件.
  • 它更改了React.createClass存储组件原型的特殊createClassupdateClass函数的调用,然后用新版本更新它 ;
  • 当所有原型都更新时,它会调用forceUpdate重新渲染组件.

有一个演示视频,一个解释性博客文章和一个React教程应用程序分叉,配置了实时编辑.

这都是香草JS.