The source code for this blog is available on GitHub.

Blog.

Reactを学ぶ12

Cover Image for Reactを学ぶ12

Udemy「フロントエンドエンジニアのためのReact・Reduxアプリケーション開発入門」 作業時間:2時間 経過時間:45時間

すでに知っているセクション等は省略。

Reactアプリケーション基礎編

JSX

React.Fragment(API)もしくは<></>記法でラップすることができる。 APIの理解が怪しいことに気づく。。

props

keyにindexは推奨されていなかったけっか。 defaultPropsというクラスプロパティあったのか。関数コンポーネントで定義した場合でも有効。

prop-types

触ってなかったので確認。 配列・オブジェクトなどバリデーションのカスタマイズもできる。 PropTypes を用いた型チェック

Reduxアプリケーション基礎編

イントロ

恥ずかしながら、以下の等価を知らなかった。

//returnあり
const hoge = () => {
 return {
  type: 'test'
 }
}
//return省略
const hoge = () => ({
  type: 'test'
})

Reducer

export default combineReducers({hoge,fuga})

Store

Store:状態管理を司るオブジェクトデータ。 createStore(reducer)でstoreを定義する。 Provider:どのコンポーネントからでもStoreを参照できるようにする役割。(従来は親子の参照で子孫まで渡していた)

connect

propsで算出を行うので、クラスコンポーネントのconstructorは不要、らしい。

mapStateToProps:対象のコンポーネントに対して、stateから必要なデータを取り出し、propsとして扱えるようにする役割。 dispatch:アクションが発動したとき、タイプに応じた状態遷移を行う処理。 mapDispatchToProps:対象となるコンポーネントに対して、必要なdispatchを扱えるようにする役割。

以下ではまった。

//以下は動かない(引数で渡すのが間違っていた)
const mapDispatchToProps = dispatch => ({func1,func2})
//以下にするか
const mapDispatchToProps = dispatch => ({
  func1: () => dispatch(func1()),
  func2: () => dispatch(func2())
})
//もしくは以下にしないといけない
const mapDispatchToProps = ({func1,func2})

More Stories