我正在做一个带有反应钩子的简单数组,但它没有更新状态。谁能指出我要在这里做什么?
import React, { useState } from "react";
import ReactDOM from "react-dom";
import "./styles.css";
const dogs = [{ name: "fido", age: 22 }, { name: "will", age: 50 }];
function App() {
const [dogList, setDogList] = useState(dogs);
const sortByAge = () => {
const sorted = dogList.sort((a, b) => {
return b.age - a.age;
});
setDogList(sorted);
alert(sorted[0].name);
};
return (
<div>
{dogs.map((dog, i) => {
return <p key={i}>{dog.name}</p>;
})}
<div onClick={sortByAge}>sort by age</div>
</div>
);
}
const rootElement = document.getElementById("root"); …Run Code Online (Sandbox Code Playgroud) 我正在玩 formik 和 yup 反应,我想知道在成功请求后进行重定向的最佳方法是什么?
我尝试传入历史对象,但它给了我一个错误,说它是全局的:
const SignUp = withFormik({
mapPropsToValues({
username,
email,
password,
passwordConfirm,
registerUser
}) {
return {
username: username || '',
email: email || '',
password: password || '',
passwordConfirm: passwordConfirm || ''
};
},
validationSchema: Yup.object().shape({
username: Yup.string()
.required('must have username')
.min(5, 'username must be 5 characters long'),
email: Yup.string()
.email('Please enter a valid email')
.required('Email is required'),
password: Yup.string().required('No password provided.'),
passwordConfirmation: Yup.string().oneOf(
[Yup.ref('password'), null],
'Passwords must match'
)
}),
handleSubmit(values, { resetForm }) { …Run Code Online (Sandbox Code Playgroud)