我有一个数组中的对象状态(在我的 ReduxReducer 中)。
const initialState = {
items: [
{ id: 1, dish: "General Chicken", price: 12.1, quantity: 0 },
{ id: 2, dish: "Chicken & Broccoli", price: 10.76, quantity: 0 },
{ id: 3, dish: "Mandaran Combination", price: 15.25, quantity: 0 },
{ id: 4, dish: "Szechuan Chicken", price: 9.5, quantity: 0 }
],
addedItems: [],
total: 0
};
Run Code Online (Sandbox Code Playgroud)
我有一个操作,当在 Cart.jsx 中单击按钮时,将对象的数量加 1,例如 {id:1,菜:Generals Chicken,价格:10.76,数量:0}。这是我尝试使用展开运算符的第一个Reducer:
case "ADD_QUANTITY":
let existing_item = state.addedItems.find(
item => action.payload === item.id
);
return { …Run Code Online (Sandbox Code Playgroud) 当我进入"login.html"页面时,我收到了一个werkzeug.routing.BuildError.问题似乎是模板中的"action ="属性.原来是action={{url_for('login')}}.虽然文档显示它以这种方式完成但它似乎不起作用.当我将其更改为action="/login"或action="#"它正常工作.问题是为什么?我的印象是正确的方式是action={{url_for('login')}}?
在我将代码分解为包(单个py文件中的所有内容)之前,它正常工作.
顺便说一句,这段代码的大部分来自Miguel Grindberg的伟大着作"Flask Web Development".我遇到问题的代码是我自己的代码.我在使用WinXP并使用最新的Flask.这是我的代码如下:
flasky\app\main\views.py:
from flask import render_template, session, redirect, url_for, current_app, flash
from .. import db
from ..models import User
from ..email import send_email, post_mail
from . import main
from .forms import NameForm, RegForm
@main.route('/login', methods=['GET', 'POST'])
def login():
form = RegForm()
if form.validate_on_submit():
session['name'] = form.username.data
session['logged_in'] = True
return redirect(url_for('success'))
return render_template('login.html', form=form)
Run Code Online (Sandbox Code Playgroud)
flasky\app\templates\login.html:
{% extends "base.html" %}
{% import "bootstrap/wtf.html" …Run Code Online (Sandbox Code Playgroud) dictionary ×1
flask ×1
javascript ×1
python ×1
python-2.7 ×1
react-redux ×1
reactjs ×1
spread ×1