Javascript 使用react从页面导入数据

Javascript 使用react从页面导入数据,javascript,html,reactjs,web,Javascript,Html,Reactjs,Web,我在react中有一个web应用程序,我有两个注册页面,一个用户和下一个用户。在注册项目的地方,我需要获取在上一页注册的用户id,以便在下一页注册项目 但是我无法导入id,因为它在函数中,所以我无法获取它 export default function Register({ history }) { const [username, setUsername] = useState(''); const [email, setEmail] = useState(''); c

我在react中有一个web应用程序,我有两个注册页面,一个用户和下一个用户。在注册项目的地方,我需要获取在上一页注册的用户id,以便在下一页注册项目

但是我无法导入id,因为它在函数中,所以我无法获取它

export default function Register({ history }) {
    const [username, setUsername] = useState('');
    const [email, setEmail] = useState('');
    const [passwd, setPasswd] = useState('');

    async function handleSubmit(e) {
        e.preventDefault();

        const response = await api.post('/createUser',  {
            username, email, passwd,
        });

        console.log(response.data);
        const { _id: _idUser } = response.data;

        history.push(`/freela/${_idUser}`);
    }
我想这样进口

import { _idUser } from './Register';
他给了我一个错误:

路线:

我认为您正在使用
react-router
react-router-dom
进行导航

对于这两个库,您可以将一些数据作为道具传递给下一个组件,如本例中所示-

history.push(
/freela/${u-idUser}
,\u-idUser)

在下一个组件中,您可以通过

props.location.state

但是最好的方法是从params获取它,因为你的url中有这个id

使用
react router dom
中的
useParams
钩子


链接到一个示例-

快速建议:因为您正在
history.push('/freela/${u idUser})中推送
idUser
,您可能可以从我使用的getParams的URL中提取
\u idUser
,但它返回一个空变量,我也尝试了您所说的关于props的方法,但它也告诉我没有设置props,我需要导入什么吗?关于useParams,我这样说:const{u idUser}=useParams()@LuísGustavo你能告诉我你是如何为这个特殊的路线设置的吗?在帖子上添加了一个打印我设法得到了或id,但做了一个小动作,用拆分来分隔in/,id总是在第4位,我认为这不是最好的格式,但它是唯一有效的格式,可以帮我做正确的方式,谢谢!!@LuísGustavo你可以通过
{id}=useParams();