繁体   English   中英

如何通过 id 获取用户并通过 get 请求使用 React Native 来表达?

how to get a user by id with a get request to express using react native?

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我正在尝试使用 express 和 axios 在本机反应中呈现个人资料页面的一个用户信息。

这是负责获取用户的 controller。

```// GET ONE USER BY ID
module.exports.findOneSingleUser = (req, res) => {
User.findOne({ _id: req.params.id })
    .then(oneSingleUser => res.json({ user: oneSingleUser }))
    .catch(err => res.json({ message: 'Something went wrong', error: err }));
}```

这是我用来向服务器发出 axios 请求的代码,我能够获取数据库中的所有用户,但我希望能够通过 id 或存储用于登录和登录的令牌呈现一个用户坚持这是有效的。

```
const ProfileInfo = (props) => {
const { navigation, route } = props
const authCtx = useContext(AuthContext);
const token= authCtx.token

const [userInfo, setUserInfo] = useState([]);


useEffect(() => {
    axios.get(`http://localhost:3000/api/users/`)
        .then(res => console.log(res.data))
        .catch(err => console.log(err))
}, [])```

这是从后端获取令牌的 util 文件夹中的代码

import { useNavigation } from '@react-navigation/native';
const BASE_URL = 'http://localhost:3000'


    // ! LOGIN FUNCTION
    export async function authenticate(email,password ){
    const token = await axios.post(BASE_URL + '/api/login',
    {
        email: email,
        password: password,
    },{ withCredentials: true }
    );
    return token;
    }
    // ! REGISTER NEW USER FUNCTION
    export async function createUser(email, password) {
    const token = await axios.post(BASE_URL + '/api/register',
        {
            email: email,
            password: password,
        },{ withCredentials: true }
    );
    return token;

    }```


this is the screen where I have the profile info componet being used

    ```import React,{useEffect} from 'react'
    import ProfileInfo from '../components/Profile/ProfileInfo';
    import Statistics from '../components/Profile/Statistics';


    const ProfileScreen = (props) => {
    const {navigation} = props
    
    
    return (
        <>
            <ProfileInfo navigation={navigation}/>
            <Statistics />
        </>
    )
    }

    export default ProfileScreen```

    

How do or What do I need to pass into the url of the axios request to get the data for the user that is logged in?  thanks in advance.

when I change the server side to
    User.findOne({ token: req.params.token})

      &

    ``` useEffect(() => {
        axios.get(`http://localhost:3000/api/users/${token}`)
            .then(res => console.log(res.data))
            .catch(err => console.log(err))
    }, [])```


I get a user but it is only the first user in DB not the user that is logged in... not sure how to get the one user that is logged in.

问题暂未有回复.您可以查看右边的相关问题.
1 如何将 React 发送到 Express 服务器获取请求传递 ID

你好,我正在学习 MERN Stack dev,所以我正在尝试实现一个 get 请求,通过我发送和 ID,然后尝试通过 id 搜索集合,将条目返回给客户端,所以我一直在尝试实现这个,但我不知道我哪里出错了,因为我收到了 404 响应 下面的代码是我尝试通过 get 请求发送的客户端 我能否获得有 ...

2 如何为 React Native 应用程序的每个用户获取唯一 ID

我正在构建我的第一个 React Native 应用程序,我想添加用户身份验证。 我需要获取一个唯一的用户 ID 以添加到我的数据库中的元素中,因此只有该特定用户的元素会显示在应用程序中。 我考虑过自己构建一些东西,但我读了一篇文章,认为这可能会引入安全漏洞,并且由于我的应用程序正在处理敏感数据,我 ...

3 如何在本机反应中从firebase获取用户ID?

我需要你的帮助,我正在为我的应用程序使用 firebase。 我正在尝试获取用户 ID,而不是登录用户,而不是我拥有的所有用户。 我想像在每个用户的警报中一样显示他们的(uid)。 此外,我将它们显示在一个平面列表中,当我在警报中设置item.uid ,它会显示(undefined) 。 但是,用户 ...

4 反应本机登录以获取user_id

https://reactnativecode.com/react-native-user-login-using-php-mysql/我正在上面的链接上做一个简单的登录应用程序,因此我想在登录但失败后获取user_id,有人吗请告诉我如何在登录后显示user_id? 以下是php的代码 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM