-
-
Notifications
You must be signed in to change notification settings - Fork 15.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
General docs review, consideration, and improvements #2590
Comments
First suggestion, from @jaredpalmer : adding some info (possibly in the README?) talking about the "right tool for the job", and "philosophy" type stuff. (I don't remember all the details of our conversation, so please feel free to fill in your thoughts on that, Jared.) |
Another suggestion, from this tweet by @acdlite :
|
Had an extended discussion with someone on Reddit about the docs structure. Quoting the main points here:
Also:
|
@markerikson as someone that has picked up Redux just in the last couple weeks, I can say for me a simple TodoMVC type app done as both plain React and done with Redux would have been tremendously helpful in wrapping my head around the Redux way. |
@UnderpantsGnome : For what it's worth, we do have a React+Redux implementation of TodoMVC in the But yes, I would love to see us add an "intermediate tutorial" that demonstrates building a slightly bigger app for real. |
I was talking to @tannerlinsley and @matthew-gerstman about this at lunch today. I think what I'd like to see is a structure sorta like this:
Right now, we're definitely missing a "Quick Start" section and a "Real-World Apps" section. I'd also like to rework the tutorial stuff so there's more of a focus on "do these things", and the "why" or "how did we end up with this approach" is in a separate section. Most of the stuff from our current "Recipes" section should be under "Real-World Apps". A portion of "Configuring Your Store" would probably mostly go into the "Quick Start" section. This could also tie in to both #2591 and reduxjs/react-redux#1001 . Tim and I don't have time to tackle a rework like this, but I would gladly help provide guidance for anyone from the community who would like to help do this. |
One other thing to tie in here: I really want to push forward https://github.com/markerikson/redux-starter-kit , make it an official Redux-branded library, and recommend using it in our docs. |
We've thrown together a Dropbox Paper doc with a bunch of initial thoughts here: https://paper.dropbox.com/doc/Redux-docs-draft-rewrite-outline--AKdR4w1_Fho4CMyLjk5xUmI_AQ-692FKTM6G5SW0m3ggfzFE |
Huh, apparently I didn't say this yet. I really want the docs to have runnable CodeSandbox examples everywhere. |
Can we implement it somewhere once just to work out the kinks? |
Sure, a proof-of-concept sounds good. Would be happy to have someone contribute a PR for that. |
Ditto - happy to work on some CodeSandbox examples! |
Sweet. @dan-kez : as a tiny starter, could you just throw together any CodeSandbox example that uses Redux at all, look at the instructions for embedding runnable CodeSandbox examples in other pages, then try adding it to one of our Markdown docs files and submit a PR? My immediate question is simply what happens when an embed link is added to a Markdown file, and then run through the Gitbook build process - does it show up correctly in the final published docs, or does it get stripped out? |
Definitely! I don't have much time tonight but I'll work on it running through that tomorrow. |
Random thought: should we maybe ditch the term "async actions"? It's never really been clear exactly what that term means. |
I usually go with thunks and action creators and mention that thunks can be async.
|
Joel Hooks from Egghead left a comment in an HN discussion expressing interest in helping include resources somehow: |
Thoughts from Josh Comeau and Mark Dalgleish on teaching Redux: https://mobile.twitter.com/JoshWComeau/status/1024989819372556289 |
Some good thoughts on the need for different types/sections of documentation (tutorials, how-tos, explanations, and references): |
Running a Twitter poll asking for what approach people think works best when teaching Redux: |
@markerikson This is a great move. Just an example: Up and running with Redux
Each option should lead to a short and concise tutorial, no deep dive to reducers or data structure etc.. The tutorial should be a very small and basic application, I'm talking about basic as in a Counter App or something similar. single reducer, 1 action creator and no fancy stuff that will force us to explain things that relate to the current UI framework. something that any new developer can see and build within 15 - 20 minutes. we can link key words like I also think we should have the next step section using the same application but adding more features to it (multiple counters? a reset button?) After these 2 steps we can let the user re-read our steps but now with some more explanation on the what, why and how it works. key take aways:
|
Another thing that i just thought of, maybe we can have an official codesandbox account for |
Closing in favor of #3592 |
The Redux docs are great, and I'm not just saying that because I wrote a couple large sections :) However, much of the content was written right at the beginning, and while there's always been tweaks and edits from people over time, it might be worth stepping back and reviewing how they work as a whole.
When Dan was writing the docs initially, he said:
2+ years later, the situation is somewhat different. There really are no more "Flux beginners", at least in terms of people who have just gotten started with a "standard" Flux library. Instead, people are coming straight to Redux, including people with little actual React experience. There's also probably less Backbone background as well, and overall the "Flux Architecture" is pretty well known at this point.
Another consideration is learning approach. The current tutorial sections take a very "from first principles" approach. For example, the "Middleware" page walks through 6 different ways to implement middleware functionality in various hack-ish ways, iterating up to the actual middleware signature. That's great for some people, but maybe not for hours. Are there other ways we could present things that might help some people? Would a "Quick Start" section or something like that be useful?
I'm not proposing that we throw all the docs out and start over, but I think it's worth trying to review and rethink what we want to say and how we want to say it, similar to how Dan reworked the React docs recently-ish.
I don't have any specific suggestions right this minute, but I want to solicit feedback and suggestions for any topics that we don't cover, or ways to improve what we already cover.
The text was updated successfully, but these errors were encountered: