dcjs / talks

Talking at dcjs
20 stars 6 forks source link

React Redux 101 #37

Closed aryzle closed 6 years ago

aryzle commented 7 years ago

Your Name: Arya Seghatoleslami
Your twitter handle: @aryzle A few words about yourself: I love creating things, I'm a software engineer at Securiport, Star Wars all the way

Talk title: React-Redux 101

Talk abstract:

State management on the front end is hard. Not too long ago a lot of our variables and packages polluted the global namespace but luckily today things are a bit cleaner. However, we still struggle with difficult questions regarding state like where to keep it, how to change it based on events or user actions and how to share it between elements of the UI. In this talk I will introduce the benefits of uni-directional data-flow and storing state immutably in one place. I'll talk about the underlying core concepts of this style of state management and then introduce Redux as a framework as a simple solution for large complex single page apps with a lot of shared state.

coming off the talk about React 101 we should talk about it's partner in crime: redux. I'll introduce the concept of flux, how redux is a little different than flux, how redux works, why it's powerful and how we use it (patterns and anti-patterns) at Securiport for a large scale application.

A little intro on state management before things like Flow, React and Redux. So a little on MVC, Backbone & Jquery, maybe more.

Redux is a predictable state container for JavaScript apps. Everything in the state of your app is stored in a single immutable JS object we call the state or state tree. The State is redundant - cannot be modified - so anytime you want to change the State you have to dispatch an action.

Actions are minimal representations of changes you want to happen to the State. The components on the page don't know how anything happens, they just know they need to dispatch an Action in response to a user click or network event. All Actions are plain objects describing what is happening in the app.

Quick part about pure vs impure functions, side-effects, predictability, immutability.

Reducers take the previous state, the Action being dispatched, and returns the next State of the app. It is pure, so it returns a new object, but it's not slow because it keeps referencing to unchanged items in the State.

Conclude with some cool things that come with Redux like hot reloading and playback/rewind state of the app.

Expected length: 30-45? not sure yet

Available months: Aug and forward

We meet on the second Thursday of the month generally. You can use this handy-dandy list to check dates:

jakerella commented 7 years ago

Does this indicate that you are only available in August? I'm not sure if we can accommodate this or not as we had some other interest in August already.

Ah! Nevermind... I see you said august and forward. thanks!

jakerella commented 7 years ago

Can you expand on the talk abstract though? We'd like to see a little more about the topic in general (redux). Also, there is no need to mention the React 101 talk since we don't know when we'll fit this in the schedule.

aryzle commented 7 years ago

@jakerella I updated the abstract, is that better?

jakerella commented 7 years ago

We have more info now, and that's great! But what we need is ONE solid paragraph, not in bullet point form, but in full sentences that people who might have no idea what redux is (or even react) can understand. I'm happy to take what you have you here and try to create that if you would like me to help. But feel free to give that a go yourself.

aryzle commented 7 years ago

@jakerella oh sorry, I think I got what you're looking for now in the abstract

jakerella commented 7 years ago

Awesome! Thanks. Now we just need to wait a bit. Last month's talk was on React, and we have a short on React in August (along with a second talk). I think we'll need to space these out a bit so it doesn't look like we're the ReactDC meetup.

aryzle commented 7 years ago

haha ok no problem 😄

lizafloyd commented 6 years ago

Hey @aryzle , how goes? This sounds like a great talk, and now that some time has passed, maybe we can get you on the schedule! Are you still interested? Also, thinking with as much ground as you want to cover, running long is a distinct possibility. Any thoughts on what goes first if that happens?

aryzle commented 6 years ago

@lizafloyd hey! I just saw this... notification on github are so lame. Anyway, let me rethink the talk and get back to you on a date and what will fit in the allotted time.

What months coming up are available?

lizafloyd commented 6 years ago

@aryzle A couple of them I think! @elgreg is currently our speaker coordinator so I'll pass you over to him. But if you're free, I can't wait! 😄

aryzle commented 6 years ago

@lizafloyd so I guess first things to go would be the history lesson (would be super short), then the ending part about HMR and rewinding state... but I think it can all fit within 30-45 mins, how much time do talks have these days?

If you give me a slot in May I could do that :) otherwise would have to wait til July

elgreg commented 6 years ago

@aryzle 45 mins to an hour is 👍 - If May 10th works, we'll book it!

aryzle commented 6 years ago

@elgreg May 10th should be good 😁 Excited!!

aryzle commented 6 years ago

@elgreg @lizafloyd I'm gonna need some sort of confirmation to start prepping

lizafloyd commented 6 years ago

Confirmed @aryzle ! Please feel free to prep away. We’ll be announcing for the 10th in the next day or so.

aryzle commented 6 years ago

@lizafloyd @elgreg just an update on me, I work at Discovery now and talk should prob be named "Redux" but it's ok if you already printed the shirts 😉

Also, does anyone record these? jw

elgreg commented 6 years ago

@aryzle Just confirming that you're all set for tomorrow evening! I've updated the meetup.com page to change your work to Discovery. Shirts are already printed in so many sizes!

We should have every adapter you might need. Hookup is HDMI. We'll all arrive a little early (6:30ish) to set up up and talk will probably start at around 7:15

aryzle commented 6 years ago

@elgreg cool beans thank you