質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

Q&A

解決済

1回答

945閲覧

react構文について教えてください。

pokemonta

総合スコア170

Redux

Reduxは、JavaScriptアプリケーションの状態を管理するためのオープンソースライブラリです。ReactやAngularで一般的にユーザーインターフェイスの構築に利用されます。

React.js

Reactは、アプリケーションのインターフェースを構築するためのオープンソースJavaScriptライブラリです。

0グッド

0クリップ

投稿2021/04/29 05:00

以下のプログラムについて
getStateの取得結果をtodosに格納している認識ですが
正しいでしょうか?getState()が右下にあって違和感があります。
普通同じ行(=の右側)の変数に格納しますよね
{}や⇒があってよくわかりません。

react

1export function adUniqueTodo(title){ 2 return (dispatch , getState) => { 3 const { 4 todo:{ 5 todos, 6 }, 7 } = getState(); 8 } 9}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hoshi-takanori

2021/04/29 05:25

adUniqueTodo は関数を返す関数で、getState の結果を分割代入してますが、その結果も、引数 title や dispatch も使っtてないので、意味不明ですね…。
guest

回答1

0

ベストアンサー

以下のように書くとちょっと解りやすくなるでしょうか。

=> アローによる関数を functionにして、uniqueTodoFunc という関数名にしてみました。
次が、getState()が返すObject を変数で受け取る処理ですが、
どうも todosの部分だけを後で使いたいから、このような入れ子のデータで受けているようです。

見た目に慣れないと一見わからないですが、特に難しいことはしてなさそうです。慣れるしかないです。

javascript

1export function addUniqueTodo(title) { 2 const uniqueTodoFunc = function(dispatch, getState) { 3 const {todo:{todos}} = getState(); 4 // todos を使って重複を削除する処理が続く 5 } 6 7 return uniqueTodoFunc; // 関数を返す 8}

投稿2021/04/29 05:38

hide5stm

総合スコア426

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

pokemonta

2021/04/29 05:53

関数uniqueTodoFunc を呼んでおいて また、関数を返しているんですね?(=>の右側以降) しかも内部では、getState()から値をtodosに格納済みのもの なんか不思議ですね。なんでこんなややこしいことするのか。。。
hide5stm

2021/04/29 06:39

ここではuniqueTodoFuncは呼ばれていません。作っているだけです。 addUniqueTodo()の呼び出し元で、uniqueTodoFuncは呼ばれます。 JavaScriptでは関数のreturn値として関数を返す。ということがC/C++/Java/Pythonといった他の 言語に比べると頻繁に行なわれる傾向があります。 これは、ブラウザ上で動くという制約から、非同期呼び出しが多用されるため、callback関数が必然的に多くなる。というような理由があるはずで、単なる趣味ではないと思うので、新しいパダライムと思って慣れるしかないです。
pokemonta

2021/04/29 14:16

〉関数のreturn値として関数を返す。 勉強なりました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問