调度动作调用不正确的减速器

时间:2019-05-24 00:08:16

标签: reactjs redux react-redux gatsby

摘要

为了学习Redux,我加入了一些状态,动作,缩减器,并试图了解它们如何在React组件中使用。 我已经建立了一个测试对象...

<?php

namespace App\Http\Controllers;

use App\Contact;
use Illuminate\Http\Request;
use App\Rules\Captcha;

class ContactController extends Controller
{
    /**
     * Store a newly created resource in storage.
     *
     * @param  \Illuminate\Http\Request  $request
     * @return \Illuminate\Http\Response
     */
    public function PostContact(Request $request) {
        //
        $this->validate($request, [
            'nom' => 'required|min:2|max:50',
            'prenom' => 'required|min:2|max:50',
            'email' => 'required|email',
            'organisme' => 'required',
            'fonction' => 'required',
            'pays' => 'required',
            'ville' => 'required',
            'telephone' => 'required|numeric|',
            'objet' => 'required',
            'fichier' => 'sometimes|nullable|mimes:doc,docx,pdf',
            'g-recaptcha-response' => new Captcha(),
            'message' => 'required|min:10']);

        $contact = new Contact;

        $contact->nom = $request->input('nom');
        $contact->prenom = $request->input('prenom');
        $contact->organisme = $request->input('organisme');
        $contact->fonction = $request->input('fonction');
        $contact->pays = $request->input('pays');
        $contact->ville = $request->input('ville');     
        $contact->email = $request->input('email');
        $contact->telephone = $request->input('telephone');
        $contact->objet = $request->objet;

        if ($request->hasFile('fichier')) {

            $filenameWithExt = $request->file('fichier')->getClientOriginalName();

            $filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);

            $extension = $request->file('fichier')->getClientOriginalExtension();

            $fileNameToStore = $filename.'_'.time().'.'.$extension;

            $path = $request->file('fichier')->storeAs('contacts', $fileNameToStore);

            $contact->fichier = $path;
        }

        $contact->message = $request->input('message');

        $contact->save();

        return redirect('contact')->with('status', 'Votre message a été envoyé avec succès !!');
    }
}

...并旨在:

  • 在访问页面时将php artisan storage:link递增1

  • const initialState = { navigationCount : 0, someNumber : 500, someList : ['aa',22,'c5d6','45615'], };

  • 添加或减去 来自navigationCount
  • someNumberpush()元素。

版本

当前使用pop()someListgatsby ^2.5.0

代码

动作和减速器

react ^16.8.6

反应成分

react-redux ^6.0.1

错误

  

redux.js:449未捕获的错误:给定操作“ LIST_POP”,reducer   “ pageIncrementReducer”返回未定义。要忽略某个动作,您   必须显式返回先前的状态。如果您希望这种减速器   不保留任何值,则可以返回null而不是未定义。

1 个答案:

答案 0 :(得分:0)

首先,您始终需要在默认开关盒上返回状态。

default:
       return state;