Kanban Task Management w/ React + Typescript + Tailwind
Design comparison
Solution retrospective
Hi,
After completing this project, I a few questions I wanted to ask.
- Modifying a nested object like the one provided for this project without mutation is really difficult. You'd need a lot of data in order to traverse and modify the object correctly (such as an index of a certain depth from a certain property, which gets REALLY confusing).
I ended up creating a deep clone of the object then apply mutations to it, but even then, the code still looked like a mess. I'm wondering if there are any better / more efficient ways to do this?
- If you check my code at the github repository, then go to the -> "non-json-server" branch then navigate through src/helper/BoardStateUpdater, you would be greeted files responsible for handling any action (delete, insert, etc...) that involves returning a deep cloned mutated state of the original "boards" object array.
I was wondering if there are any better ways to do this? or perhaps better patterns to manage this kind of actions. These functions are used inside a Context in the form a useReducer that manages the board state of the entire application.
As the project grows and these functions began to pile up, I ended up having to write a lot of duplicate code because most functions want different parameters, which made it hard to scale.
Any feedback / help is appreciated!
Community feedback
Please log in to post a comment
Log in with GitHubJoin our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord