Scratch Addons supports getting and modifying Redux state!
Keep in mind
- Redux is only available on scratch-www pages (the ones with the thicker navigation bar) and the editor.
- Some extensions conflict with Scratch Addons’ Redux feature. Do not use this when unnecessary.
- We expect readers to have basic knowledge on Redux and Scratch’s reducers.
Get Redux state
addon.tab.redux.state stores current Redux state. For example, to get message count:
Wait for Redux state
addon.tab.redux.waitForState() returns a Promise that will resolve when the Redux state meets the given condition.
|condition||Yes||A function that takes Redux state as a parameter and returns whether to keep waiting or not.|
You must first call
addon.tab.redux.initialize() for Scratch Addons to be able to listen for state changes.
addon.tab.redux.addEventListener("statechanged", callback) to add event listeners for state changes. The callback can have one argument which is a CustomEvent with following attributes:
action: Dispatched action. See Redux docs for what it means.
prev: Previous state.
next: Next state.
You can dispatch events using
addon.tab.redux.dispatch(eventObject). Event object must have
type attribute and can have other attributes. For details on what to dispatch, read reducer codes on scratch-www, scratch-gui or scratch-paint:
Make sure to follow the code of conduct. You can see this comment section on GitHub Discussions, as well as editing and removing your comment.