Still learning SolidJS and SolidStart. One thing that is confusing me is the name createRouteAction. I understand createRouteAction is executed on the client side.
- Can't I call that function in a component? What I mean is, can't I call it in non-page component?
- Can't I call it without a Form?
Suppose i have I global like button in every page, that doesn't need any input params.
import { createRouteAction } from "solid-start/data";
import { createSignal } from "solid-js";
// Global signal, that I should also use in other places
export const [globalLike, setGlobalLike] = createSignal(0);
export function LikeButton() {
const [liking, like] = createRouteAction(async () => {
fetch("/increase-like")
// Should parse response....but for the sake of simplicity
.then((likes) => setGlobalLike(likes) )
});
if ( liking.pending ) return <div>Liking</div>;
return <div onClick={like()}>Likes are {globalLike()}</div>
}
Would this be wrong? Is this not a best practice?
In this situation, this is not a route action, right? Unless I'm misunderstanding the purpose of createRouteAction
Wouldn't make more sense to just call it createAction ?
While we are at it, is this best practice?
import { createRouteAction } from "solid-start/data";
import { createSignal } from "solid-js";
// Global signal, that I should also use in other places
export const [globalLike, setGlobalLike] = createSignal(0);
// Extract liking logic from the component
export const [liking, like] = createRouteAction(async () => {
fetch("/increase-like")
// Should parse response....but for the sake of simplicity
.then((likes) => setGlobalLike(likes) )
});
export function LikeButton() {
if ( liking.pending ) return <div>Liking</div>;
return <div onClick={like()}>Likes are {globalLike()}</div>
}
Still learning SolidJS and SolidStart. One thing that is confusing me is the name
createRouteAction. I understandcreateRouteActionis executed on the client side.Suppose i have I global like button in every page, that doesn't need any input params.
Would this be wrong? Is this not a best practice?
In this situation, this is not a route action, right? Unless I'm misunderstanding the purpose of
createRouteActionWouldn't make more sense to just call it
createAction?While we are at it, is this best practice?