Hacker News new | past | comments | ask | show | jobs | submit | Zer8's comments login

Say you want a form with as-you-type validation. You can't have a view containing the whole form and just re-render that as someone types. If you did, you'd lose the user current focus on every render. This forces you to manipulate parts of the DOM "by hand", something React abstracts for you.

I find Backbone events extremely hard to work with (error-prone, super hard to test / debug), because there are many operations that emit tons of events. So you either listen+render() on any event (very inconsistent performance if your app has any kind of complexity), or you hand-pick the events you want to react to (event-hell). Using immutable objects along with React's PureRenderMixin means you can just render() on any change, with great performance. It makes your UI purely functional, very easy to reason about, and easy to test.


> You can't have a view containing the whole form and just re-render that as someone types. If you did, you'd lose the user current focus on every render. This forces you to manipulate parts of the DOM "by hand", something React abstracts for you.

This is not how most modern view engines work. Somehow the React community has convinced the entire JS world that they invented the idea of "only render what has changed" when that's just not the case.


We're talking about Backbone + templating here, and that is what happens with those libs.

Obviously there are other libs / frameworks that can do that, all of them using some sort of shadow DOM.


You've got that backwards. Every other framework "only renders what has changed". React re-renders everything.


Reread that in the context of the parent's statement. There is a misconception that every other template library blows away parts of the dom on each update and that only React will do something like input.value=newValue, but this is not the case.


I sure don't see where that misconception is the fault of "the React community."

In fact, this comment is the first time I've seen that formulated. I'll be honest, I don't read every React-related forum entry on the Internet, so I may have missed someone somewhere spreading such a misconception, but there certainly is no such centrally communicated premise.


React only "renders" everything within its shadow DOM. It then applies the results of diffing the previous and current version trying to use the most atomic operation (innerText, add/removeClass, add/removeNode, etc)


Thanks. I get it now!


Same experience here. I took 0.1g to close to 1g on several occasions over a couple years.

Doses in the 0.1-0.2g range would leave me fairly slow the next day, but that's it. With heavier doses I'd see after-effects for about a week (like reaching for my phone and pulling a lighter from my pocket, disconnecting in the middle of a conversation, losing track of time)

The only time it took a long time to fully recover (5-6 weeks, progressively) was after taking some twice in 2 consecutive days. Quantities weren't big, maybe 0.5g total, but the effects lasted really long.


1 gram is an oversose.

I did that twice and was getting vertigo for a week after. Same with my friends.

I'd say fair amount per night is 2x0.1 grams per night.


Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: