Comments (7)
@minusoneman couldn't you use json-api-normalizer to do this?
from redux-object.
@KenStipek I'd like to update the store based on the modified object in step 2 (not the server provided JSONAPI response in step 4), since I'd like to support offline use.
from redux-object.
@minusoneman sounds like a common redux task: create a reducer and action, which will do whatever you need
from redux-object.
@yury-dymov that's true, and also my approach right now. But things get a little complicated if I want to Update or Delete an object. In my reducer, if I want to delete an object, I'll:
- Delete the object from store (simple)
- Find all relationships to said object and remove (yuk!)
Create an object (client-side)
- Create object manually in store
- Create all relationships
I'm wondering if there could be a 'generic' solution to this, not unlike this approach: https://github.com/giadc/giadc-redux-json-api#manipulating-entities
from redux-object.
Sorry for the delayed response.
Well, I understand, what you are talking about. redux-object itself is about reading data from the store, we don't mutate anything here, so I am closing this :)
Regarding mentioned case, I find this problem in general quite hard to solve but we can brainstorm for the particular use-cases. Feel free to ping me via [email protected]
from redux-object.
Appreciate you talking your time!
I'll do some thinking as well, and get back to you if I come up with something useful.
Thanks for a neat little library.
from redux-object.
@minusoneman I see that you say you're having difficulty with step 4, but it is step three the one I'm worried about right now:
- Fetch Object from Redux (buildObject)
- Modify said Object (for example, through a form)
- Call an API to persist the update server-side
- On Success, merge changes back into Redux
When calling the api to update an object, this is done via a POST request to the object's URI, and the payload must be the object in jsonapi format. How do you approach converting the object you received from this library's build
function, back into the following format
{ id, type, attributes: { ... }, relationships: { ... } }
In particular I'm having trouble knowing which attributes of the non-normalized object obtained from build
were originally relationships and which ones were regular attributes. You can see more about this trouble I'm having in #29.
from redux-object.
Related Issues (20)
- Suggestion: Include unminified + minified bundles in dist
- Suggestion: Optionally include 'type' attribute in results HOT 2
- Accessing related object not in the store HOT 6
- Should not return empty array for relationships without data HOT 1
- support for resource object 'meta' tag HOT 1
- Change properties to be enumerable HOT 2
- 'meta' properties on relationships HOT 2
- Is it possible to convert an Object back to plain JSON? HOT 2
- Ability to do reflection on what is a relationship and what's not HOT 4
- Preserve type information for each object HOT 3
- Creating new objects across subsequent (identical) calls HOT 5
- {fetchFromMeta} missing? HOT 1
- It's not possible for resources and relationships to live under different reducers HOT 1
- Cyclical state HOT 1
- How do I make a change? HOT 4
- Selecting data when fetching from relationship JSONAPI endpoint HOT 2
- [Feat. Request] "resolved" optional? HOT 2
- redux-object/dist/bundle.min.js consists es6 syntax. Does not work with IE11 HOT 1
- Remove the core-js dep HOT 2
- Types for working with TypeScript 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 redux-object.