首页 > 解决方案 > 在 React java 脚本中传递参数

问题描述

我正在尝试从钩子上的 React 应用程序中的函数获取参数。这只是一个例子。有谁知道为什么(无论女巫函数将被触发 fireFavs() 或 fireFavs2())它总是让我落后于实际状态一步,我该如何解决这个问题?我尝试编写单独的模块甚至单独的钩子,但我无法做好。

`

import React, { useState, useEffect } from "react";
import {useSelector, useDispatch } from "react-redux";

const CharacterDetails = ({ favs}) => {
  const favourites = useSelector(state => state.isFavouriteRedurec)
  let favIDs = favourites.favIDs

  function fireFavs() {
    console.log(favs);
  }
  function fireFavs2() {
    console.log(favIDs );
  }
return(
<>
        <IconButton
          aria`enter code here`-label="add to favorites"
          className={classes.actionPanel}
          onClick={() => {fireFavs2(); fireFavs() }}
        >
        </IconButton>
</>
 )
export default CharacterDetails;

`

标签: javascriptreactjsreduxparameter-passing

解决方案


从您的代码中不清楚您要实现什么,但您所描述的听起来可能是预期的行为,因为setState它不是同步的(请参阅文档)。如果您想查看状态发生的更改,请在您的函数中设置您的状态并尝试在 a 中登录useEffect(我看到您已经导入它但没有使用它)

useEffect(() => {
   console.log(yourstate)
}, [yourstate])


推荐阅读