MARKLESS_HANDLER_READS_RENDER_LOCAL
An event handler reads a local from the component body that the browser cannot rebuild.
Error from the compiler, while it builds your .tsrx files.
What happened
The handler reads a local from the component body. The body runs only for the first render, so the browser has no value for that local.
Markless prints the message, the reason, and a suggestion:
MARKLESS_HANDLER_READS_RENDER_LOCAL: The `<handlerLabel>` handler reads `<localName>`, a local of the component body. The body runs only during the initial render, so the browser copy of this handler would name a variable that does not exist there.
A handler runs in the browser from graph reads, props, and module values. A `const` local built only from those is recomputed in place; any other local has no value the browser can reach.
Declare `<localName>` as `const <localName> = ...` built only from module values, props, and state; move it to module scope; or make it state: `const <localName> = state(...)`.
https://markless.dev/errors/MARKLESS_HANDLER_READS_RENDER_LOCAL
Words in angle brackets change from case to case.
How to fix it
Build the local only from props, state, and imported values. Or move it to the top of the file. Or make it state().
Where it comes from
@markless/compiler raises this code. Source:
Read how to read a Markless error, or go back to all error codes.
