Comments (5)
Thanks for creating an issue. It might be related to a bug (or the browser's change behavior of the Set iterators) in the internal cache mechanism.
I'll try to check it out ASAP.
from hybrids.
EDIT: https://codesandbox.io/s/hybrids-web-components-playground-forked-d2pcgl?file=/src/index.js
One tip about your example - if you use store
factory and get posts
in render, the store will try to fetch the list without id too. It must do this, as for listings it cannot assume that without id you don't want to fetch anything (like for a model instance, which requires id).
In the above codesandbox I made a slight change to your list
method, so if id
is falsy, it just returns an empty array. It then protects the case store.get([Post])
- you can alternatively throw an error if id
does not fit your needs. Then, you can use store.error()
in the render method to show that case.
from hybrids.
@Qsppl Please try v8.2.5
. If the problem still occurs please re-open the issue.
from hybrids.
EDIT: https://codesandbox.io/s/hybrids-web-components-playground-forked-d2pcgl?file=/src/index.js
One tip about your example - if you use
store
factory and getposts
in render, the store will try to fetch the list without id too. It must do this, as for listings it cannot assume that without id you don't want to fetch anything (like for a model instance, which requires id).In the above codesandbox I made a slight change to your
list
method, so ifid
is falsy, it just returns an empty array. It then protects the casestore.get([Post])
- you can alternatively throw an error ifid
does not fit your needs. Then, you can usestore.error()
in the render method to show that case.
In this case, it is impossible to distinguish between cases when we have not yet downloaded the data and when we have already downloaded the data and an empty array was actually returned from the server.
Also, the store.ready defender no longer means that the data download is complete.
I opened a issue on this topic before I saw your message:
#216
from hybrids.
EDIT: https://codesandbox.io/s/hybrids-web-components-playground-forked-d2pcgl?file=/src/index.js
One tip about your example - if you usestore
factory and getposts
in render, the store will try to fetch the list without id too. It must do this, as for listings it cannot assume that without id you don't want to fetch anything (like for a model instance, which requires id).
In the above codesandbox I made a slight change to yourlist
method, so ifid
is falsy, it just returns an empty array. It then protects the casestore.get([Post])
- you can alternatively throw an error ifid
does not fit your needs. Then, you can usestore.error()
in the render method to show that case.In this case, it is impossible to distinguish between cases when we have not yet downloaded the data and when we have already downloaded the data and an empty array was actually returned from the server.
Also, the store.ready defender no longer means that the data download is complete.
I opened a issue on this topic before I saw your message: #216
I'll try to load not the component model when clicked, but the entire component, like in Vue. This solution should create fewer problems.
from hybrids.
Related Issues (20)
- Bug: Template is not updated when component properties change HOT 14
- How to add focus when opening a form? HOT 4
- I can't write a polymorphic model definition for GeoJson objects HOT 7
- Content is not updated when creating a model HOT 2
- Using "store([Model])" causes a TypeScript error HOT 18
- Clearing a draft causes a TypeScript error. HOT 7
- "children" fabric causes TypeScript error HOT 4
- using 'host.render()' and 'host.content()' causes a TypeScript error HOT 4
- The "store(Model, { id: value })" descriptor does not resolve "id" correctly to the model instance. HOT 3
- The "store(Model, { id:value })" descriptor does not work correctly. HOT 2
- Add a helper for assigning component properties HOT 3
- Dynamic columns not showing when render a html table HOT 4
- '"hybrids"' has no exported member named 'property'. Did you mean 'Property'? HOT 8
- Add support for "TypeScript v5" HOT 3
- I can't create an arbitrary number of nested forms: HOT 6
- Small Type Inferencing Issue with Property<E, V> HOT 3
- Cannot pass an object to the API via the "list" method HOT 7
- version 8.2.17 backwards compatibility is broken! HOT 9
- Expand the functionality of drafts
- sync() with nested models is broken HOT 2
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 hybrids.