【发布时间】:2020-02-20 13:04:33
【问题描述】:
有什么方法可以将发布请求的响应传递给另一个组件,然后重新路由到该组件?
这是一个简短的例子:
这是主应用程序...
import React from 'react'
import { BrowserRouter as Router, Route } from 'react-router-dom'
import Login from './components/login.component'
import Homepage from './components/homepage.component'
const App = () => (
<Router>
<Route path="/" exact component={ Login } />
<Route path="/homepage" component={ Homepage } />
</Router>
)
export default App
这里是发布请求的表单...
import React from 'react'
import axios from 'axios'
const Login = () => {
const handleSubmit = event => {
event.preventDefault()
axios.post( API, {
user_id: 'demo',
user_pwd: 'demo'
})
.then( res => {
console.log( res.data )
// ???
})
}
return(
<form onSubmit={ handleSubmit }>
...
</form>
)
}
export default Login
这是我想以某种方式获取响应数据的地方
import React from 'react'
const Homepage = props => {
console.log( props )
}
export default Homepage
【问题讨论】:
-
您可以使用上下文或全局状态管理,例如 redux。您可以将响应中的数据存储在全局状态中,然后将 Home 组件连接到状态并获取值。
标签: javascript reactjs react-router axios