小编cra*_*rog的帖子

给出 onChange 选项时,Formik 中的选择字段出现问题

<Field as="select">我的Formik有问题。效果onChange不佳 - 无论我选择什么选项,当我提交表单时,它都会以空字符串形式发送player1and 。player2

例如输出console.log(values)

{ id: '10', player1: '', player2: '', winner: '1', date: '2021-12-16' }
Run Code Online (Sandbox Code Playgroud)

当我删除onChange它时效果很好,但我需要 onChange 和 selectedPlayer 状态,因为如果我选择 a player1,我不希望他在第二个选项中可见,反之亦然。为什么当更改时value,我的属性没有改变?看起来它获取的初始值是空字符串。FieldselectedPlayerselectedPlayer

import { Field, Form, Formik } from 'formik';
import { connect } from 'react-redux';
import {addMatchAction} from "../../ducks/matches/operations";
import {getAllPlayers} from "../../ducks/players/selectors";
import {useState} from "react";
const MatchesForm = ({ addMatchAction,error,players }, props) => {
    const handleSubmit = (values) …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs redux formik

5
推荐指数
1
解决办法
2万
查看次数

使用 .forEach 时出现 async/await 问题

我正在发出一个简单的Redis'请求,该请求应该返回数据库中的所有值(而不是键)。问题是我的函数在事件开始tab之前返回.forEach。我为什么知道这个?Myconsole.log(tab)的结果在每次迭代之前打印console.log(cards)。我的解释器还在.forEach函数内部告诉我"Promise returned from forEach argument is ignored". 我在那里做错了什么?为什么 async/await 不能在内部工作.forEach

router.get("/", async (req, res) => {
    try {
        const keys = await client.keys("*")
        //console.log(result)
        const tab = []
        await keys.forEach(async (key) => {
            const cards = await client.smembers(key)
            console.log(cards)
            tab.push(cards)
        })
        console.log(tab)
        return res.send(tab)
    } catch (err) {
        console.error(err)
    }

});
Run Code Online (Sandbox Code Playgroud)

javascript redis node.js

4
推荐指数
1
解决办法
2211
查看次数

标签 统计

javascript ×2

formik ×1

node.js ×1

reactjs ×1

redis ×1

redux ×1