Javascript 使用react从页面导入数据
我在react中有一个web应用程序,我有两个注册页面,一个用户和下一个用户。在注册项目的地方,我需要获取在上一页注册的用户id,以便在下一页注册项目 但是我无法导入id,因为它在函数中,所以我无法获取它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
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();