Reactjs 获取react钩子上的上一个状态,而不是类上的状态
如何在react钩子中获取previoius状态值? 这是我的密码。我也使用了userefhook,但不起作用Reactjs 获取react钩子上的上一个状态,而不是类上的状态,reactjs,state,Reactjs,State,如何在react钩子中获取previoius状态值? 这是我的密码。我也使用了userefhook,但不起作用 const [ category, setCategory] = useState([]); function updateMarkers(data) { let newCategory= []; let {name, age} = data.payload; //Here need to check previous cateogory has same age or
const [ category, setCategory] = useState([]);
function updateMarkers(data) {
let newCategory= [];
let {name, age} = data.payload;
//Here need to check previous cateogory has same age or not.
category && category.map((cate, i) => {
if (cate.age!== age) {
newCategory[i] = data.payload
}
})
}
setCategory((prevCategory)=>[…prevCategory,…newCategory])
让prevCategory=usePrevious(类别);
console.log('prevcategory',prevcategory) 您可以像这样创建
usePrevious
:
export default function usePrevious(value) {
const ref = useRef();
useEffect(() => {
ref.current = value;
});
return ref.current;
}
并使用:
const previousState = usePrevious(state)
您可以通过以下操作访问以前的状态
setState(prevState => prevState)
我也这样做了,但没有工作,您能显示您正在使用的代码吗?const[category,setCategory]=useState([]);函数updateMarkers(data){let newCategory=[];let{name,age}=data.payload;category&&category.map((cate,i)=>{if(cate.age!==age){newCategory[i]=data.payload}}}setCategory((prevCategory)=>[…prevCategory,…newCategory])在这里,我需要用新的类别值检查以前的类别值。请更新您的代码和您的问题,以便我可以轻松阅读和理解您的问题