Comments (3)
I am experiencing the same issue
from swift-composable-architecture.
Hi @heoblitz, this is happening because effect actions that emit actions immediately (such as is the case with Effect.send
) are handled differently than asynchronous effect actions. The synchronous action is processed immediately in the same call stack as when the original action was sent, and so I don't believe there is a way to process that action with an animation.
Note that this doesn't have anything to do with Effect.publisher
vs Effect.run
. It entirely has to do with synchronous actions from effects. If you update your action like so:
return .publisher {
Just(.changeShowingDetailView)
.delay(for: 0, scheduler: DispatchQueue.main)
}
.animation(.default)
β¦it will also work.
I'm not really sure there is anything the library can do to change this behavior. Our choice to process synchronous actions in the same call stack as when the original action was sent is due to people relying and expecting that kind of behavior. Breaking that expectation will lead to a lot of problems.
I'm inclined to convert this to a discussion since I don't think the library can really do anything to remedy this, and there are simple workarounds. How does that sound?
from swift-composable-architecture.
@mbrandonw Thanks for the clarification.
It's a minor comment, but it would be nice to have the publisher animation usage in the documentation or comments.
As you say, it would be great to close the issue and turn it into a discussion!
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
- 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.