Comments (4)
This is interesting to think about! In the reusable favoriting component example the favorite
higher-order reducer takes an environment function that can describe a favoriting request given an environment:
This functionality is then combined with an episodeReducer
:
With a forEach
such as yours above, one could potentially define a favorites
as a specialized forEach
for favoriting without much work.
I'm trying to think through other use cases and how it affects other versions of forEach
(like the one that works with arrays by index and the one that works with dictionaries by key). What could they do if index
or key
were exposed to the environment
part of forEach
?
from swift-composable-architecture.
After studying the favoriting I'm wonder that this could be implemented as an alternative to the current forEach. It might make things like grouping downloads easier. If the app was web page like, (I used to work at eBay and old habits die hard) then there are times when you want to kill all the loads from a single page. Having a chained environment would make this easier. It also can minimize use of global queues, such as currently being used in the cancelable functionality. It feels a little odd to have the environment produce effects but then cancel is triggered from the Effect class itself.
I'm not sure if its better to do this or have a concept of path.
from swift-composable-architecture.
@toddwbates We just got a Swift forum that should be nice for discussions like this and allow us to keep GitHub issues focused on bugs. Would you be up for moving the discussion there and closing this out? Would also love to see some motivating examples of this kind of forEach
transformation. Maybe with a PR 🤩
from swift-composable-architecture.
Sure, I'll try and get one set up asap.
from swift-composable-architecture.
Related Issues (20)
- Alert state remaining when dismissing alert HOT 1
- Tree-based navigation deeplinking shows mostly blank screens HOT 2
- onChange not work for state change by setter HOT 1
- Default title text for alerts generates log errors when using string catalogs
- Mapping AnyPublisher to Effect with the Latest Swift Composable Architecture HOT 1
- StackState/StackReducer related leak HOT 3
- Publisher animation is not working HOT 3
- Stack based navigation throw error when write to userdefault in reducer and use scenePhase environment key HOT 1
- Sendable warnings (Animation) HOT 2
- Drop `Equatable` constraint for `Value` in `_OnChangeReducer` HOT 1
- When using switch store onAppear method not being ran in child HOT 1
- Xcode Cloud can't build projects that uses Composable Architecture v1.4.0 HOT 1
- libiraty tuist errir HOT 1
- Static dependencies HOT 3
- Extension for Reducer.State/Action causes a compilation error with the new @Reducer macros HOT 2
- Circular reference error using @Reducer with an extension on reducer's State HOT 2
- The .legacyAlert modifier on a child view will be ignored. HOT 11
- Crash in 1.5.2 - Unwrapping in IfLetStore, line 88 HOT 5
- 1.5.4 action from run not called HOT 7
- Build error "Undefined symbols" when building with internal type in a package 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 swift-composable-architecture.