如何检查id是否等于用户id并在react js中有条件地显示按钮?

63lcw9qa  于 2023-08-07  发布在  React
关注(0)|答案(2)|浏览(93)

嘿,伙计们,我是新的React,目前正试图显示2按钮的基础上的条件。我需要检查用户是否存在于具有用户ID的数组中,并显示相应的按钮。
这是我收到的JSON响应。

(2) [{…}, {…}]
0: {id: 8, username: "testuser5"}
1: {id: 4, username: "testuser2"}
length: 2
__proto__: Array(0)

字符串
这是我的代码。

const [pending, setPending] = useState([]);

const pendingfun = async function pendingInfo() {
    await axiosInstance.get(url).then((res) => {
        const pending = res.data;
        setPending(pending)
        // console.log(pending)
    })
}

pending.forEach(x => x.id === user.id) ?             
    <Button variant="outlined" color="primary" disableElevation                                         
    >
        Save
    </Button> 
    :   <Button variant="outlined" color="primary" disableElevation>
             Cancel
        </Button>


问题是当我运行这个的时候,没有一个按钮显示在屏幕上。有人能帮忙吗?
谢啦,谢啦

j2cgzkjk

j2cgzkjk1#

forEach不返回任何内容,只迭代数组。您应该使用find来返回正确的按钮:

pending.find(x => (x.id !== user.id)) ?             
    <Button variant="outlined" color="primary" disableElevation                                         
    >
        Save
    </Button> 
    :   <Button variant="outlined" color="primary" disableElevation>
             Cancel
        </Button>

字符串

eivgtgni

eivgtgni2#

const id1: number = 1;
const id2: number = 1;

// Check if the IDs are the same
const areIdsEqual: boolean = id1 === id2;

console.log(areIdsEqual)

字符串

相关问题