Octane – React’s programming model, compiled
octanejs.dev
octanejs.dev
Sort of ironic considering that there are a LOT of vibe tells in the copy throughout this page. It's a neat looking project, it's a shame that every other sentence has Claude's fingerprints all over it.
Sure, the website by itself doesn’t mean anything, but placed into context it could mean the maintainer doesn’t put much effort into clear, unambiguous communication.
If this is the case: I think introducing tsrx as part of Octane muddies the water a bit and makes me more hesitant to try (even if it is optional).
The idea to make tsx files more readable may be interesting but in that case it should go into its own separate project, and maybe just put a lang toggle in Octane docs and a page about tsrx compat, that way if people are intrigued by the new syntax they can just look it up but the docs stay focused.
- i ll take that over the AI, GPT, LLM, Agent stuff on HN anyday now
Also, is there any read on the downsides / shortcomings / caveats of Octane vs. vanilla React?
> A current-state getter. useState and useReducer return [state, update, getState], so a delayed callback can read the latest value instead of a stale capture.
There are currently a few workarounds in React for this, and using other state management libs also give you non-reactive access to current state, but this is a big help in certain situations.
For example, a callback / event that you pass to all your child elements, that needs to access the current state when run, therefore normally needs to be recreated with the new state captured (in useCallback) whenever state changes, which then causes all child components to re-render. Non-reactive access to current state in callbacks avoids this entirely.
There are some hacks that fix this by wrapping the updated callback in a ref and updating it with an event (for example, https://usehooks-ts.com/react-hook/use-event-callback useEventCallback as implemented various places) and returning a stable reference to a function that calls that saved one, though I always wonder if there are downsides to this.
But it doesn't have the repeating yourself/over-emphasising that you sometimes see in LLM instructions when someone is trying to fight the model's default assumptions
my favorite part of using whatever this weird ssr hybrid landscape ive been in is just not using graphql lol. i can just rawdog sql now for most things like the lords of data intended. its fantastic
Classic statistics dark pattern.