Comments (5)
From my limited knowledge, I think the right approach to this is to leverage shouldComponentUpdate
to decide when we need to re-render.
I see some of that logic already in withSelect
and @wordpress/element
so we might even get that for free in the future, but I'm still a bit lost on that part.
from gutenberg-mobile.
The update issue is not specific to RN though, although I can imagine it'd be more apparent. I can't remember right now if we made improvements for this in WPiOS, but we had already spotted the need to avoid updating the post state and saving on each keystroke.
That said, I'm not too sure if the one to define the logic for saving should be the editor or the consuming app.
from gutenberg-mobile.
@mchowning this looks related to: #1941
from gutenberg-mobile.
Another aspect to add is: who owns the undo history and what "chunks" of change are saved as a single undo record?
Currently, Aztec owns its editing history, including of course raw text modifications (versus, for example, styling changes). I think we will probably need to implement something clever there to efficiently store content changes in the RN/app state.
In that sense, I can't tell yet exactly when the Aztec instance should re-render or how often. I think I'd like to see some implementation of the undo/redo logic before forming an opinion.
from gutenberg-mobile.
The Aztec integration has changed quite a bit for some time now (with RichText component on the Gutenberg-web side) and this ticket is now hard to relate to any particular code part. The ticket was originally raised for visibility purposes so, closing now as out-of-date.
from gutenberg-mobile.
Related Issues (20)
- [Android] Media Upload progress bar does not increment HOT 2
- Excerpts shows the VideoPress URL for VideoPress v5
- Empty state when using source URL of VideoPress vide in v5 block
- VideoPress v5: Plays inline setting not saving for Atomic sites w/o VideoPress HOT 1
- Support HTML anchors HOT 3
- Cover block: Videos can't be played in private sites
- Add ability to transform video block to VideoPress
- VideoPress v5: Investigate cases where app markup differs to the web
- Long delay when saving a post HOT 3
- Editor crashes when the content of a synced pattern is updated HOT 2
- Improve appearance of the File Block
- RuntimeException: android.os.TransactionTooLargeException: data parcel size 836080 bytes HOT 5
- Unsupported Block Editor: Editor doesn't load on some Atomic sites on Android HOT 2
- TypeError: Cannot read property 'label' of undefined HOT 2
- TypeError: Cannot read property 'trim' of undefined HOT 3
- TypeError: Cannot read property 'name' of null HOT 3
- TypeError: Cannot read property 'scrollToEnd' of null HOT 1
- TypeError: Cannot set property 'block' of undefined HOT 1
- 'RNTAztecView/RNTAztecView.h' file not found HOT 1
- Remove deprecated defaultProps from function components for React 18.3
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 gutenberg-mobile.