Upgrading React to v16 and Enzyme to v3
Blog post from ReadMe
React v16 introduced significant features such as the ability to return arrays from render() functions, improved server-side rendering, and enhanced performance, prompting a developer to experiment with it on a smaller project within ReadMe before its full integration. During testing, the developer encountered issues due to the need for an upgraded Enzyme library, which introduced a new adapter system to isolate version-specific quirks, requiring configuration changes for compatibility. Specific changes included adapting to the new instance.hasClass() method, which required rendering to check for class existence, manually calling update() on mounted components after instance function calls, and using instance() instead of the now-inaccessible component.node for DOM node modifications. Additionally, React's reliance on requestAnimationFrame necessitated a polyfill for older browsers, resolved by adding the raf package to Jest's setupFiles. The developer advised ensuring all components are updated to their latest versions to avoid compatibility issues, recommending updating Enzyme before React to simplify debugging.