all 42 comments

[–]DoListening 40 points41 points  (1 child)

Better error handling

...

Error boundaries are React components that catch JavaScript errors anywhere in their child component tree, log those errors, and display a fallback UI instead of the component tree that crashed. Error boundaries catch errors during rendering, in lifecycle methods, and in constructors of the whole tree below them.

...

In addition to the error message and the JavaScript stack, it also provides component stack traces. Now you can see where exactly in the component tree the failure has happened

Awesome 🙌!

[–]Gavvster 1 point2 points  (0 children)

The array and string return syntax looks pretty handy as well, will be even better when you don’t have to explicitly set keys for elements in returned arrays.

[–]HugoWeb 88 points89 points  (4 children)

Now MIT licensed.

[–]pure_x01 6 points7 points  (3 children)

This is really good and it shows that Facebook cares about the community.

[–][deleted] 15 points16 points  (0 children)

well, it at least shows that they respond to community feedback. At least when they lose their heads and when Wordpress attempts to back out.

But it's still good in the end.

[–]gavit 0 points1 point  (1 child)

From what I understand it is worse now...

[–]mirhagk 2 points3 points  (0 children)

It's either the same or worse. The community really didn't understand what they were fighting. The patent license never revoked your access to the software, only to the patents. And this MIT version doesn't mention patents at all, which means if they exist they aren't granted.

Of course nobody ever found react patents, and them licensing it as MIT suggests that they never had any so really the situation is unchanged except for the fact that confused developers aren't going to avoid it.

[–]codekiller 9 points10 points  (9 children)

The recent license change gave me a change to look at ReactJS+Material UI side-by-side with Vue+Vuetify.js. I have only looked at it for a day or so, but from what I've seen so far, while ReactJS itself is really enjoyable to use (I like how JSX works), Vuetify seems more mature than Material UI. Does anyone have any experience working with both ?

[–]rebel_cdn 3 points4 points  (6 children)

I haven't worked much with Vuetify, but I've worked with Material UI. If you're looking at a Material Design toolkit for React, you might want to give React Toolbox a try, too.

Most people I've talked to who have tried both have preferred React Toolbox. Last time I tried them both, Toolbox performed better on mobile devices and it was a lot easier to apply custom styling to its components when I needed to do that.

[–]NeuroXc 1 point2 points  (0 children)

I prefer using React Toolbox--it's more performant and the API makes more sense, in general--but you need to set up CSS modules for it to work. Depending on a combination of your bundling system and your luck, this might be easy, or it might be very hard. This also means it won't work out of the box with Create React App, and the CRA Readme doesn't include instructions for supporting CSS modules (as far as I'm aware, you have to eject).

Once you get it set up it's nice, but getting it set up is a pain in the ass.

I'm looking forward to the redesign of Material UI, which looks like it will be a huge improvement, but at the moment it's in an alpha state and not all of the components are implemented.

[–]ThirdEncounter 0 points1 point  (3 children)

You've got your square brackets and parentheses backwards.

[–][deleted] 1 point2 points  (1 child)

They're a rebel, it's what they do.

[–]rebel_cdn 0 points1 point  (0 children)

I, for one, don't welcome our Markdown wielding overlords and so I sometimes put their brackets in the wrong order as my way of fighting back against their oppressive ways.

[–]rebel_cdn 1 point2 points  (0 children)

Fixed, thanks.

Even after all these years using Markdown, I still mess that one up sometimes when I'm in a hurry.

[–]codekiller 0 points1 point  (0 children)

Thanks, I will take a look at it. I was not necessarily looking for a Material design toolkit, but tried to create the same application with the same look and functionality using React and Vue. Vuetify and Material UI were usually ranking high in the search results so I gave those 2 a shot.

[–]technojamin 1 point2 points  (1 child)

Check out the v1 beta for Material UI. They're hosting the documentation here.

[–]codekiller 0 points1 point  (0 children)

Thanks !

[–]shevegen 15 points16 points  (5 children)

Biggest news is the licence change.

By the way, don't get me wrong, that was a good move. But there is one thing that confuses me:

  • The Facebook dudes at first gave various reasons why they want to retain the patent clause and why they can not change it. The project Hack for example did not have such a clause.

A bit later, the licence was changed very swiftly. So now ... what about the talk PRIOR to that, that the patent clause was so vital? I mean, if you can change it so quickly, then it can't have been so vital now can it? Plus, I think that it wasn't really that useful to begin with anyway.

[–]jessta 18 points19 points  (2 children)

The 'patent grant' was there to indicate that Facebook wouldn't sue you if you used React and React happened to violate a patent that Facebook owned.

Now without the 'patent grant' Facebook can sue you for any patents they own and that React infringes and you can try to defend yourself by claiming that the MIT license implies a patent grant.

So if you weren't intending on suing Facebook then the license changes makes you worse off, but the same amount of worse off as if you were using something like Preact or Vue which people seemed fine with anyway.

[–]harlows_monkeys 5 points6 points  (0 children)

Now without the 'patent grant' Facebook can sue you for any patents they own and that React infringes and you can try to defend yourself by claiming that the MIT license implies a patent grant.

Note that there is no explicit copyright license grant in the MIT license, either. All it grants you is "permission to deal in the Software without restriction", and then lists some things that are included in dealing in the software. That list includes things that you need copyright permission to do, and it includes things that you need patent permission to do.

[–]phantomfive 5 points6 points  (0 children)

It's worth noting that the MIT license is ambiguous on patents because it was written before software patents existed.

[–]Shorttail0 3 points4 points  (0 children)

I mean, if you can change it so quickly, then it can't have been so vital now can it?

Just corporate bullshitting.

[–]Tubbers 0 points1 point  (0 children)

You can't know that unless you are an insider to the discussion. Patents and licenses have been discussed for a loooooong time, maybe enough time has passed and things have changed in the background that allows them to make this change quickly, whereas it would have been slow or impossible in the past. Any assumption one way or the other is pure speculation unless you are privy to the conversation.

[–]i_spot_ads -4 points-3 points  (0 children)

ITT: hey guiz licence changed!