Is there a way to pass initial values to a LiveView JS hook from the server?
Here’s my example LiveView:
defmodule FooWeb.PageLive do
use FooWeb, :live_view
@impl true
def mount(_params, _session, socket) do
{:ok, assign(socket, foo_assigns_i_want_to_reference_in_my_hook: %{bar: "hi"})}
end
@impl true
def render(assigns) do
~L"""
<div phx-hook="FooDomNode"></div>
"""
end
end
And here is my JS hook:
let Hook = {}
Hook.FooDomNode = {
mounted() {
// Is there anyway I can access `foo_assigns_i_want_to_reference_in_my_hook` in here?
}
}
// ... More JS boilerplate that properly passes `Hook` to `new LiveSocket(...)` and connects
As the commented part of the JS hook states: Is there anyway to reference the assigns of the LiveView mount
in the JS hook’s mounted
callback?
Thank you!!