为了学习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
的 someNumber
和push()
元素。
当前使用pop()
,someList
和gatsby ^2.5.0
。
react ^16.8.6
react-redux ^6.0.1
redux.js:449未捕获的错误:给定操作“ LIST_POP”,reducer “ pageIncrementReducer”返回未定义。要忽略某个动作,您 必须显式返回先前的状态。如果您希望这种减速器 不保留任何值,则可以返回null而不是未定义。
答案 0 :(得分:0)
首先,您始终需要在默认开关盒上返回状态。
default:
return state;