Comments (4)
I'm not a maintainer, but as far as my understanding of flux goes, server side communication should happen in actions. The result of a server side communication should update the stores, to reflect the server response. Stores should (at least for the most part) be able to update synchronously.
from flux.
@bogdan-dumitru, this is my understanding too, and I can buy the logic of that, but I also wonder whether the inability to get any browser repaints while stores are digesting becomes problematic as a flux architecture application grows?
@maintainers, any thoughts on this?
from flux.
Yes, @bogdan-dumitru is correct that the synchronous nature is intentional, and is required if we are to be able to cause the stores to update themselves only after the stores they depend on have been updated.
When communicating with a server, one should split the data flow at the point of creating an action. An example of this can be seen here: https://github.com/facebook/flux/blob/master/examples/flux-chat/js/actions/ChatMessageActionCreators.js#L23-28 -- in this example, we optimistically update the store with the client-side data. Then in the the XHR success or failure callback, you would create another action.
from flux.
@sterpe I could imagine this scenario if your store logic was computationally expensive, but it's uncommon that the store logic is the bottleneck in performance. I've seen pretty crazy things like dispatches on a requestAnimationFrame cycle, and Flux/React handled them just fine.
One place where I did see some lag was in an initial data load, when the load was quite large. I'm not sure how we eventually improved that, but I'll try to find out and get back to you.
from flux.
Related Issues (20)
- Cannot dispatch in the middle of a dispatch. HOT 1
- New Flux store instance created upon second component referencing store HOT 7
- Flux Utils + Hooks HOT 6
- TypeError: Class constructor App cannot be invoked without 'new' HOT 1
- Using version of fbjs that depends on unsupported core-js module HOT 2
- Please update the following components: FluxContainer(containerClass) React 16.10.2 HOT 5
- how do we differ from Architecture and pattern? HOT 1
- Is this code a good way to update react component from dispatch in OOP class object? HOT 2
- Flux container breaks class methods defined with class properties syntax HOT 1
- Container create context issues after Babel 7.9.x update. HOT 5
- CVE-2020-15168 found in [email protected] HOT 13
- CVE-2020-7733 vulnerability by linking to an older fbjs version HOT 2
- Is fbemitter project discontinued? Is flux? HOT 1
- Add React 17 support
- NPM reports flux vulnerabilities HOT 3
- CVE-2021-27292: ua-parser-js needs to upgrade to 0.7.24 HOT 4
- mock flux store - react test HOT 2
- Will there be a Chinese version? HOT 1
- Video goes off screen and does not fit neatly HOT 1
- Add react-18 as peer dependency. HOT 1
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 flux.