Progressive decoupling and ES6 support on Drupal 8 are definitely gaining some momentum. After having tested several methods to make use of React within Drupal, I had a look a the React Comments module, that provides a self contained, standard and developer friendly way to get started with React. It has been derived in a repository to have a kind of boilerplate to run tests on and a demo that loads article nodes from a JSON API endpoint.
The migrate system is stable since Drupal 8.5.0, so this is a great time to review the migration tools provided by the community. This post does not cover migration from the UI, it focuses on partially customized migration that are runned with Drush. In most cases, you will probably want to review the content model a bit (you know, that content type or field machine name that does not actually reflect the truth since its creation, ...). The idea behind is to delegate the heavy lifting to Migrate Upgrade for migration template generation, then apply content model changes if needed.
Ever thought about spinning up a Drupal 7 or 8 dev environment that is close to your production setup in minutes (Apache or Nginx, PHP 5.6 or 7.1, MySQL or Postgres, or ...)? Even better, you will be able to share the configuration with your team straight on your Git repository as a YAML file. Lando provides development environments (LAMP, LEMP, MEAN, ...) and other recipes for Drupal 6 to 8, Laravel, Backdrop, ... .
This post focuses on translation issues and various pitfalls that you might encounter while building with React and Drupal: internationalization with and without language fallback, include images with images styles, taxonomy filter, fetch data on the route or the component, sort by weight, deploy in production.
This post goes a bit against the mainstream, with one purpose in mind: for a low budget, leave a custom LAMP server provisioning for a well maintained LAMP stack that comes with a smart GUI and helpers for common sysadmin tasks like: several versions of PHP, a php.ini for each virtual host, backup system, internal monitoring, Let's Encrypt ready. We will use a Drupal 7.x website with CiviCRM 4.6.x LTS as an example.