[解決済み] eslint: no-case-declaration - case ブロックで予期しない字句の宣言があった。
2022-02-19 01:35:49
質問
このコンテキストでreducerの内部で状態を更新するには、どのような方法が良いのでしょうか?
case DELETE_INTEREST:
let deleteInterests = state.user.interests;
let index = deleteInterests.findIndex(i => i == action.payload);
deleteInterests.splice(index, 1);
return { ...state, user: { ...state.user, interests: deleteInterests } };
ESLint は、reducer 内の case ブロックの中にある let ステートメントが好きではありません。
eslint: no-case-declaration - unexpected lexical declaration in case ブロック
解決方法は?
<ブロッククオートの中のcaseブロックの中にあるlet文はESLintでは好まれません。 なぜですか?
これは、変数が現在の
case
. ブロックを使用することで、変数のスコープをそのブロックに限定することができます。
使用方法
{}
のように、ブロックスコープをcaseで作成します。
case DELETE_INTEREST: {
let .....
return (...)
}
このスニペットを確認してください。
function withOutBraces() {
switch(1){
case 1:
let a=10;
console.log('case 1', a);
case 2:
console.log('case 2', a)
}
}
function withBraces() {
switch(1){
case 1: {
let a=10;
console.log('case 1', a);
}
case 2: {
console.log('case 2', a)
}
}
}
console.log('========First Case ============')
withOutBraces()
console.log('========Second Case ============')
withBraces();
配列から要素を削除するには アレイフィルタ なぜなら スプライス は、元の配列の変更を行います。このように書きます。
case DELETE_INTEREST:
let deleteInterests = state.user.interests;
let newData = deleteInterests.filter(i => i !== action.payload);
return { ...state, user: { ...state.user, interests: newData } };
関連
-
[解決済み】Reactコンポーネント内でswitchステートメントを使用するには?
-
[解決済み] react - createMuiThemeとcreateThemeの違い。
-
[解決済み] ReactJS: Warning: setState(...): 既存の状態遷移の間に更新することはできません
-
[解決済み] React の open mailto E-Mail クライアントの onClick で textarea から本文を取得する。
-
[解決済み] Webpack のコンパイルに失敗した
-
[解決済み] ReactJs "インバリアント違反..." リアクトの古典的な問題
-
[解決済み] nextjsで異なる.envファイルを使用するには?
-
[解決済み] React Router - バージョン更新後のwithRouterでTypescriptエラーが発生する。
-
[解決済み] ESLintはどのようにCreate React Appに統合されるのですか?
-
[解決済み】「SyntaxError: 予期しないトークン < in JSON at position 0".
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】React 17で動作するEnzymeアダプターはどれですか?
-
[解決済み】Warning.Itが表示されるのはなぜですか?Functions are not valid as a React child?
-
[解決済み] React.createElement: type is invalid -- expected a string.
-
[解決済み] FontAwesomeの無料パッケージに含まれているアイコンのオブジェクト名はどこにあるのですか?
-
[解決済み] jest: テストスイートの実行に失敗しました。予期しないトークンのインポート
-
[解決済み] 'Proptypes'が定義されていない
-
[解決済み] React の open mailto E-Mail クライアントの onClick で textarea から本文を取得する。
-
[解決済み] Webpack のコンパイルに失敗した
-
[解決済み] eslint: no-case-declaration - case ブロックで予期しない字句の宣言があった。
-
[解決済み] ESLintとTSLintの違い【クローズド】について