Well, I don’t really have time to go through your list. I will say a few things.
A big step for me was when it was explained to me that each component has it’s own state. I’d thought that state was common to the program, but it is not. You have to wisely decide in which component to put your state.
The other big thing for me was youtube videos, especially a few by Brad Traversy. I would code along as he coded and that really helped.
right on. state is for sure a central topic! i am by no means an expert on it. I like the Brad Traversy Videos as well. Maybe I will include some basic code along examples. I am at the stage where I want to try and combine all the skills I have learned here and produce something cool, so thanks for the input.
Hey look. I’m normally supportive of people doing whatever with their projects but…
Imagine I told you that I want to design a course to teach Arabic to learn Arabic. That doesn’t make any sense, does it?
I mean, I could tell you about the grammatical structure, the syntax, the inflections when saying different words, but it’s all kind of meaningless unless you’re actually fluent first.
You should really do the basics first. Go through the React tutorials provided by Facebook, then do the projects recommended by FCC, THEN do your teaching React project.
When you have enough skill, do your project, post it here, and ask if you did it right. I’ll be happy to give you feedback when you do so.
Modules /components make your code easier to reason about and reuse.
Mutating state should be avoided.
JSX (although controversial to some) makes your code easy to reason about in terms of the DOM layout.
React is just JS. Don’t be afraid to apply your usual techniques, just avoid interacting with the DOM directly and avoid mutating state.
Tooling takes time to setup, but is essential. Try Create React App if you don’t want to do this all yourself.
glamorous - CSS in JS option
Redux - state container
Axios - fetch alternative
Jest - for testing
I’m not sure I can help with advanced topics, instead I’ll bullet point what has really made a difference to my understanding.
Atomic design principles - this was my single most important factor in learning React
Higher order components - help you to stay DRY, but can be confusing at first
componentDidMount is a good lifecycle event for asynchronous requests (like AJAX)
componentWillUnmount should be used to cancel any timers or similar processes that are running
thanks for taking the time to reply. i have never heard of glamorous, sounds interesting.
your thinking on the advanced stuff actually lines up with what i jotted down, HOC and lifecycles.
Mr. Positivity. Been there done that but thanks for taking the time to tell me what to do. I Said I was making a learning tool, not teaching react to people, so maybe next time don’t assume so much. you know how the rest of the saying goes.
no probs. Glamorous. It’s more of a JS approach. If you prefer working with CSS then Emotion is supposed to be really good, I haven’t got round to trying it yet.
Yup, you really have to admire the people who don’t have time to help, but somehow manage enough time to snark about you wasting their precious time. Why bother writing anything at all, if you are just going to be a dick.
Element, props, children, state, modularity.
Babeljs.io, Eslint, React Developer Tools, that’s all I can think of right now.
babel. yes i had overlooked that, and its crucial. thanks for the reply.
I suggest you to take a look at Gatsby (a React Static Site Generator) and Styled Components which is another CSS in JS alternative that I found very cool.