Using a library doesn’t bring decoupling so much.
Also, the fact that you are using a global context doesn’t mean each and every component must read directly from context. You can choose to pass props at any level to components you want independent.
Which, overall, I find it much better than adding a library, which still has coupling (just not so much for reading, but for writi g as changing things is always couple to actions, which you may or may not be able to pass as props themselves) and brings a significant amount of boilerplate.
There may be cases, I guess particularly for very large apps, where teh downsides of an additional library are acceptable and may be drowned in the size but in most cases I’ve worked with: 1. Reusability was overrated, 2. The bulk of too many external dependencies beside react was weighing down.