Comments (3)
That would work, though it's not possible to skip initial renders in vdom sadly.
Another option might be to allow passing (worker, state)
to the main thread side of stockroom? You'd be duplicating the state object from the worker thread, but it seems a decent compromise and it would only add a couple bytes to the library.
from stockroom.
That 's kinda expected, because stockroom initializes the store asynchronous from within the webworker, the state won't be available on first render.
Maybe it would be worth to add a initialized property to the store and maybe a component that only renders it 's children after the store received the initial state.
What do you think @developit ?
from stockroom.
you could skip first render in a mechanic that you apstract your index...
Think about your normal app is in index.jsx now you add a entry.jsx and link you bundle to entry.jsx instead, export your Store from index.jsx.
now inside of entry.jsx
import Index, { Store } from './index'
import { h, render } from 'preact'
if (DEVMODE && !PRERENDER) {
require('preact/devtools')
}
Store.subscribe((state) => {
if (state.warmupDone) {
const app = document.getElementById('app')
const body = document.body
render(<Index store={Store} />, body, app)
}
})
...but this also require that you have some auto warmup action inside of your worker that set a state like warmupDone....
but this will delay your render in my example about 300 ms but it doesn't metter because i use a prerender engine built on top of preact-render-to-string in the background but you have to think about something like that otherwise this will delay first meaning full render
from stockroom.
Related Issues (15)
- Access to the store in components HOT 4
- Event origin check? HOT 2
- Extract differ in util to separate library HOT 3
- Window is not defined HOT 2
- Differences in the inline and the normal way HOT 1
- Unistore when used with stockroom not updating as expected HOT 1
- Redux HOT 1
- TypeScript Definitions HOT 1
- Can't delete nested object from store HOT 2
- getting below error when trying to compile,kindly help as i am new to this technology
- Nothing was returned from render error while trying to implement with React HOT 6
- Support for redux? HOT 6
- Using the inline worker emits errors in browser context.
- Error when updating state from null to an object.
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 stockroom.