Open
Description
Most of the Redux code is this package was written years ago and has not been touched since. In that time, Redux has come a long way! The bad news is that this codebase goes against a lot of the Redux Best Practices. The good news is that the newer ways of doing things are much easier and involve a lot less boilerplate.
Some things which can be improved/changed:
- Can use
createSlice
which automatically creates the action creators for a reducer so that you don't need to define a bajillion constants or define basic action creator functions. This can be tackled one "slice" at a time, as Redux Toolkit is fully compatible with old/vanilla Redux. - Can use
createAsyncThunk
to automatically dispatchpending
,error
andfulfilled
actions for each asynchronous action. - Can use
useSelector
anduseDispatch
hooks instead of theconnect
HOC.
I can do a lot of this myself, but I wanted to post it as a discussion first because I don't want to waste time rewriting code if it's not wanted.
Activity
welcome commentedon Jul 18, 2022
Welcome! 👋 Thanks for opening your first issue here! And to ensure the community is able to respond to your issue, be sure to follow the issue template if you haven't already.
kjhollen commentedon Aug 15, 2022
thank you @lindapaiste! the editor is currently in maintenance mode as we transition to new leadership (see #2010). hope to have an update next month!
mapStateToProps
andmapDispatchToProps
often include unused props #2179[-][Discussion] refactoring Redux code: hooks, thunks, and redux-toolkit[/-][+]Refactoring Redux code: hooks, thunks, and redux-toolkit[/+]mrkirthi-24 commentedon Jan 4, 2024
Is this issue open?
lindapaiste commentedon Jan 4, 2024
Yes! It's a broad topic and a lot of work has been done already but it's not complete.
As far as using hooks instead of
connect
, I think we've got that pretty much everywhere...if you include the PRs that haven't been merged.We finally merged in a PR that enables Redux Toolkit but most of the reducers haven't been converted. I've only done the
toast
,assets
, andide
so far.We have not done anything yet with
createAsyncThunk
(or RTK query).Maybe I need to make a checklist. If there's a particular piece that you want to work on you should search the open PRs to see if it's mentioned.
https://github.com/processing/p5.js-web-editor/pulls?q=is%3Apr+is%3Aopen+redux
19 remaining items