question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Status

Type Description Status Comment
Page Query View #4429
Page Query Editor #4429
Component AppView #4525 (layout component, contains logic of redirecting to login, rendering the header and some more)
lib Routing #4159
lib State Management Not 100% sure we need this from the get go
lib Model Classes Mostly the $http/$resource based objects

As announced in July, we started the migration of our frontend code to React:

It’s long overdue that we migrate from Angular 1. Yet an actual migration was never prioritized, because it doesn’t directly benefit the end user so we preferred to focus on things that actually benefit the user.

But opportunity presented itself, when the good folks from Mozilla decided to experiment with migration Redash from Angular to React. While personally, for a new project, I wouldn’t necessarily pick React (but rather Vue), for an existing code base React presented the following advantages:

  • it had a clearer path to doing a gradual migration using the react2angular library (and later the angular2react one).
  • Both the team at Mozilla and other contributors have past experience with React.

Now that #2546 is merged we have a hybrid code base, where we can introduce React component into our code. We will start with gradually rewriting existing components and writing new code with React.

This is a gradual process where until finished, our codebase will use both Angular.js and React. Since version 4 we were shipping this hybrid codebase. The code editor, date parameters and edit in place component use React now.

Issue Analytics

  • State:closed
  • Created 5 years ago
  • Reactions:6
  • Comments:18 (10 by maintainers)

github_iconTop GitHub Comments

8reactions
arikfrcommented, Jan 31, 2020

The codebase is now 100% React. We’re still cleaning up some things, but the migration is done. 🎉

8reactions
arikfrcommented, Jun 12, 2019

In your introduction post, you mentioned Vue, while Angular and Aurelia were were available (possibly among other options). All of the aforementioned frameworks build on web standards, rather than partially reinventing them in JavaScript.

Angular is not an option and Aurelia is probably not either. But Vue was an option, but if I’m not mistaken it doesn’t really use HTML – it takes the template you define and converts it into a Virtual DOM.

So it might be more familiar for some people, but you can’t say it’s using web standards.

Anyway this discussion is pointless considering the stage of the React migration. We will keep this in mind for the 2025 rewrite 😄

Read more comments on GitHub >

github_iconTop Results From Across the Web

How to Upgrade to React 18
You can use the automated migration script to help port your application code to the new and safer typings faster.
Read more >
Strategy and Tips for Migrating to React - Brainhub
Migrating to React allows developers to ship features faster and makes an app easier to maintain. Plus, it can be done painlessly, as...
Read more >
How to do React Migration And Increase Your Performance 3X?
Process: Steps Involved in React Migration · # 1) Planning and preparation for migration · # 2) Pre-launch testing before migration · #...
Read more >
Migrating from Create React App - Next.js
Migrating from Create React App. This guide will help you understand how to transition from an existing non-ejected Create React App project to...
Read more >
Our Experience Migrating to React - Handshake
Engineer Chris Schmitz reflects on the React migration process (from start to finish) for the Handshake Engineering team.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found