News for hackers. Stuff that matters.
Re:Rich Harris joins Vercel to work on Svelte full time by _hzrk on Friday November 12, 2021 @09:49AM (#29199752)
No, they are JavaScript, it is array based programming wrapped in a reactive functional-declarative approach. Simply array of objects cascading with state. {#await promise} is more cryptic than any useHook function implementation.
Re:Rich Harris joins Vercel to work on Svelte full time by dmitriid on Friday November 12, 2021 @04:16PM (#29204631)
> No, they are JavaScript, it is array based programming wrapped

Javascript has no support for array-based programming.

So, hooks are not Javascript: they look like regular function calls, but:

- they can only be declared and called before rendering

- they can't be called out of order

- they cannot be called conditionally

- they have to be called a specific name to be handled correctly by React runtime

- some (but not all of them) require dependency lists that determine how they are invoked

> {#await promise} is more cryptic than any useHook function implementation.

usEffect documentation is something like 20 pages long. The use of {#await promise} is immediately understandable from the code example, and its entire documentation fits on a page and a half

Re:Rich Harris joins Vercel to work on Svelte full time by Aeolun on Saturday November 13, 2021 @03:14AM (#29208285)
They are definitely javascript. I can click to definition of the useEffect function and see exactly what it is doing.

I completely agree that learning them is a bit crazy, but ultimately every hook comes down to being a function execution.

Re:Rich Harris joins Vercel to work on Svelte full time by dmitriid on Saturday November 13, 2021 @02:35PM (#29212539)
> They are definitely javascript.

How come they break Javascript semantics and execution flow?

> but ultimately every hook comes down to being a function execution.

That's really beside the point when it comes to understand what something is and using them.

{#await promise} is immediately understandable from its use.

Hooks are... well, I already said above.

Re:Rich Harris joins Vercel to work on Svelte full time by merb on Sunday November 14, 2021 @03:45PM (#29220490)
> How come they break Javascript semantics and execution flow?

wait what? since when do they break execution flow and javascript semantics?!

useEffect(function () { }); when exactly do you think the function will be called? - correct only the "framework" defines that, but that's completly normal javascript execution and semantic.