Live data from Hacker News

React v17.0 Release Candidate: No New Features

reactjs.org

91–100 of 120 posts

Re: React v17.0 Release Candidate: No New Features

#91

Earlier quoted context omitted.

I think React hooks are silly but Redux is an OK solution to a certain problem, and one of the nicer major libraries in all of JavaScript land, wildly better than almost anything else of similar prominence (it's fairly small and IIRC it has one dependency, with one other transitive dependency, and that's it). I don't see the philosophical or practical connection between the two.

`redux@^4` currently has two dependencies: `symbol-observable` for compat with observable libs, and `loose-envify` for compat with Browserify. I plan on removing both of those when we release Redux v5. Our official Redux Toolkit package [0], which is now our recommended approach for writing Redux logic, _does_ have a few more deps: Immer, Reselect, Redux-Thunk, and the Redux core. But, those are all things you probab…

> I plan on removing both of those when we release Redux v5.

Gasp! Will redux store no longer be an observable then?

Re: React v17.0 Release Candidate: No New Features

#92
post #35

I'm excited to see the work on the Modern Event System land. I tried to dig into all the events code in React to understand how events in React Portals bubbled up because I wanted to prevent them from bubbling out of the portal in many cases (GH issue: https://github.com/facebook/react/issues/11387 ). In 16.x, the modern event system was in the tree but unused by default, and it was very confusing to try to trace eve…

Yeah, we've removed a lot of code and also a lot of abstraction so the event system should be easier to follow now. We listen to events on both roots and portal containers — this is why it keeps working.

I can't speak to the exact semantics of how portals work with nested trees, but if you find an issue, please file one on our tracker. Some are expected to be impossible to solve, but hopefully we handle the common cases well.

(I would ask Dominic who worked on this but he just went on a much needed holiday break.)

Re: React v17.0 Release Candidate: No New Features

#93

Earlier quoted context omitted.

> As a mostly Python and only occasional JavaScript developer, it always felt like the biggest challenge in the JavaScript community was how fast everything moved Those of us who were doing Python web dev in the years 2000s might remember that Python went through a similar period where it seemed that every week a new backend framework came out: Zope, CherryPy, web2py, Pylons, Django, repoze.bfg, TurboGears... to name…

I do think there's a second wave of frameworks coming, because Django/Flask are showing their age a bit. Sanic is/was really popular and I think FastAPI is really promising.

It seems that the main difference you're pointing out is Python's transition from synchronous-only/wsgi to asynchronous/asgi frameworks.

Re: React v17.0 Release Candidate: No New Features

#94
post #66

Earlier quoted context omitted.

Next.js is a very decent React based SSR framework imo, and not sure vue is more popular

Gatsby is another very popular SSR framework that uses React.

There's no reason to pick gatsby over next nowadays, next can do everything gatsby can and in a sane, reusable manner.

Re: React v17.0 Release Candidate: No New Features

#96

Earlier quoted context omitted.

Thanks for your work on it. I've found Redux super-helpful and pleasant to use for multi-platform JS UI work, in particular, to bundle HTTP client (and other network services, if not in the browser) libs behind a common, small, well-understood-by-React-devs state interface. I'm a huge fan of dependencies I can abuse—fake-up in an afternoon on unsupported platforms in another language, rip out of one place and cram in…

Thanks! Quick summary: Immer is an incredibly useful immutable update library, created by Michel Weststrate (author of MobX). It exports a single function `produce(originalState, updateCallback)`. The callback receives a `draftState` value that _looks_ like your original state, but has been wrapped in an ES6 Proxy. You can then "mutate" the draft all you want. Internally, Immer tracks all the mutations, and the final…

When I first came across Immer, I wasn’t impressed. I though “If you’re going to the trouble of using functional-ish state management, why add a “mutations-like” API in there. Surely you’re “crossing the streams?”

But then a couple of weeks later I had to wrangle data in subsections of three “slices“ of state at the same time.

Immer lets you focus on just the state you want to change, and hides the problem of maintaining the state you don’t want to change. Brilliant. I’ll take the “it looks like mutation” hit for that.

Re: React v17.0 Release Candidate: No New Features

#97

Earlier quoted context omitted.

Remember Snow Leopard? I miss that.

"Zero new features" was a nice marketing line for Snow Leopard. It did not reflect reality. Snow Leopard introduced Dock Exposé, Exchange support in Apple Mail, and Grand Central Dispatch. just to name three. We've had similar releases since then which added a few new features but were primarily focused on stability. The most recent one was High Sierra. These do tend to be the best releases of macOS IMO.

Well, we're also downplaying it a little bit, as component stack traces in production or fixing event delegation semantic across roots are significant new compelling use cases. :-)

But yeah, I'm mostly just referring to quality-of-life improvements as being a focal point of the release.

Re: React v17.0 Release Candidate: No New Features

#98
post #3

"It has been two and a half years since the previous major release of React, which is a long time even by our standards!" As a mostly Python and only occasional JavaScript developer, it always felt like the biggest challenge in the JavaScript community was how fast everything moved - new libraries, frameworks and ideas would tumble past at the rate of one every few weeks, and it felt impossible to keep up. I've been…

We definitely seem to be in an era of stability. My stack of choice (React, GraphQL, Relay, Django) has remained unchanged since late 2015. A few things have changed, i.e. I no longer have to hand-roll my own SSR solution, because things like Next.js exist. But what represents the bulk of my code is largely the same tech as it was 5 years ago.

Re: React v17.0 Release Candidate: No New Features

#99
post #31

Earlier quoted context omitted.

React won the spa crowd. Lags behind in server side frameworks adoption over Vue. React won the enterprise crowd pushing angularjs out. React hasn't won over the JQuery crowd If you do primary js it probably has. If you only do some js and other things it probably hasn't yet.

Next.js is a very decent React based SSR framework imo, and not sure vue is more popular

parent is talking about servr side frameworks like laravel, django, asp.net core mvc etc. Not node.js SSR framework

For those, it is much more easier to add vue as a script tag. also easier to setup Vue, compared to react.

Re: React v17.0 Release Candidate: No New Features

#100

Earlier quoted context omitted.

Big name libraries and frameworks like React and Angular manage things relatively well and in a similar way to other frameworks in other languages (you could argue about AngularJS -> Angular but if you worked with both frameworks you know that AngularJS was a dead end approach designed for a completely different stack and it just didn't make sense to maintain backwards compatibility or maintaining that dumpster of a…

Which core web app framework feature’s biggest 3rd party React library has been abandoned in the last few years? Or extensively rewritten to the point of seriously effecting end using programmers? I am relatively new to React. Perhaps all of this happened 3 or more years ago. I know React Router 4 was released in mid 2017. Perhaps I was too new when I looked over the changes between 3 and 4. It didn’t seem as drastic…

I'm surprised that you don't see the changes between RR3 and 4 as drastic. It's a completely different API, and unsolved a problem which had (admittedly imperfect) solutions -- kicking off data fetching prior to navigation.

I try to resist hyperbole, but if it wasn't for the brand value of owning the name "React Router", it should (or would) have been released under a different package name.

Post reply on HN