我想在我正在处理的库中使用react 16的一些新功能。但是,如果我在我公开的组件中使用componentDidCatch
或ReactDOM.createPortal
,那么运行react 15的库可能不支持这些方法吗?
有没有办法在不放弃对React 15的支持的情况下使用React 16的新功能?
答案 0 :(得分:1)
为了继续支持React 15,你需要在调用它之前检查是否只存在16个api。如果它不存在,那么回退到其他东西。或者如果它更多的是增强而不是库的核心功能,也许什么都不做。所以基本上,维护相同功能的两个不同版本。最后,您放弃对15的支持并删除代码路径。
15到16的升级相当简单,所以我个人不会向后弯腰继续支持15很长时间,但取决于特定的库以及谁使用它。