Comments (3)
Note 1
When navigating to admin page via clicking Admin anchor tag,
it works to my expectation, early exits component after redirect like NextJS
Note 2
If I remove the optional chain operator on res()?.name
that's rendered inside Admin component jsx, it crashes on client because res()
returns undefined
. But if you navigate to admin page via browser addressbar, the crash is ignored (logs error in terminal in dev mode).
const Admin = () => {
const res = createAsync(() => getUser());
// server does unnecessary work here when redirecting
console.log("Admin component"); // logs even after redirect
return (
<div>
<h1>admin</h1>
<p>{res().name}</p>
</div>
);
};
from solid-start.
This is by design to a certain degree. Our Async isn't blocking until where you read from the resource, not where you declare it. This avoids waterfalls that Next cannot. Similarly our resources don't throw and can be undefined. Again to be non-blocking. We are exploring space of doing blocking along the reactive graph rather than the components in Solid 2.0. But the short of this is Solid does not work like React and we need to work on our documentation.
The error behavior inconsistency on SSR + Hydration vs navigation is interesting. I'm gathering doesn't cause the server to error for some reason and then it gets skipped during hydration. That is probably worth further examination.
from solid-start.
Related Issues (20)
- How to create a SSG site? HOT 6
- [Bug?]: Middleware with returned undici response ignores the content-type if the response body is async. HOT 3
- [Bug?]: client only doesn't work anymore for `props.children` HOT 6
- [Bug?]: Catch-all that starts with number after ellipsis in filename causes hydration errors in nested paths on dev HOT 1
- [Bug?]: Latest Vinxi (>= 0.3.11) causes layout shifts in dev HOT 4
- [Feature?]: Error Handling with solid-router HOT 8
- [Bug?]: Vite server config is being ignored HOT 4
- [Bug?]: Namespaces are completely stripped out of code HOT 4
- [Bug?]: error while importing module, related to `.` in path-name HOT 1
- [Bug?]: createHandler context only called once, renders nonce useless HOT 1
- [Bug?]: Client Only component displayed in app.tsx causes hydration errors HOT 1
- [Bug?]: No value attribute on CSR, but present in SSR HOT 5
- [Bug?]: Typescript error in tsconfig.json for new projects created with pnpm. HOT 1
- [Bug?]: Frequently generate app.config.timestamp_.js files when i change app.config.js file HOT 1
- [Bug?]: Flakey Hydration Error Key 0-0-0-0-0-0-0-5 HOT 4
- [Bug?]: API routes in file based Route Groups don't work in RC0 HOT 5
- [Bug?]: Extend Solid config causes TS Errors HOT 2
- [Bug?]: Dev server fails to start when installing with new pnpm lockfiles HOT 3
- [Bug?]: The example in the docs doesn't seam to work. HOT 14
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from solid-start.