Open smarko82 opened 3 years ago
@smarko82 What do you mean by 'does not render anything'?
Here it's XState tool working with send("pippo")
as entry action of idle state.
Here it's XState tool not working (doesn't render anyithing) with send((context) => context.pippo)
as entry action of idle state. It doesn't work also if I add context: { pippo: "foo" }
as param to object passed to createMachine function.
I can add that when using entry:log("something")
nothing gets rendered.
It only happens for the entry
that belongs to the initial state. So in the @smarko82 example, if I use
idle:{
entry:log("something")
}
nothing renders. But if I change the code to:
idle:{
entry:{ actions: log("something")}
}
it renders correctly.
One more thing, using
entry:{ actions: log("something")}
causes a blank screen on the stately.ia visualizer page:
Application error: a client-side exception has occurred (see the browser console for more information).
but if we use:
idle:{
entry:log("something")
}
it works correctly. so we are in a mutually excluding workaround scenario.
And there's is another problem with the website visualizer: once your code provoques an error there is no way to fix it and the page enters in an error loop where you need to be fast enough to select all the code and delete it before the render triggers. That's because the visualizer tries to render the code as soon as it loads the page. A better way would be to let the user decide when to render the visualization so if an error occurs there is no error loop problem.
@mogarick Could you double-check it with this site? It will let you know if there's a parse error our side:
ok. give me a minute then...
entry:log("something)
entry:{actions:log("something")}
this last one shows "anonymous" for the entry, and with such value in the visualizer it throws the a client-side...
error.
in the case of the vs-code extension, the no render scenario occurs when using the entry:log("something)
and it works with the entry:{actions:log("something")}
Worth noting that entry: { actions: [] }
is incorrect syntax. Missed that in the comments above.
Got it.
I can confirm using entry:log("Entered signIn NavState)
or entry: [log("Entered signIn NavState")],
works on the website visualizer.
But then the problem is on the vs-code extension visualizer.
Using entry: {actions:log("Entered signIn NavState")},
renders but entry:log("Entered signIn NavState)
doesn't. Neither entry: [log("Entered signIn NavState")],
.
Hi @mattpocock, About the error that occurs in the vs-code visualizer, should I open a new issue for better tracking purposes or leave this issue as the master one for that?
Thank you in advance.
Keep this here, I'll figure it out later. It's likely an issue with the viz as opposed to the vscode extension
Hi @mattpocock,
Any news about this? :)
Apologies, doing more feature work than bug work at the moment ahead of a big release in early Feb. Will look to tackle some bugs then.
The following machine does not render anything in the visualizer...
Same machine does render if I don't use parametric send
send((context) => ...)
: