大纲:
我正在努力学习react/redux/router.作为一个练习项目,我正在开发一个基本的联系人/客户端管理应用程序.使用react-router-doms Redirect组件时.我无法让后退/前进导航按预期工作.
细节:
我有一个表,其中包含一个条目列表,/contacts/当您单击其中一个表行时,我想Redirect使用<tr>s onClick属性设置的值.
单击<tr key={d._id} onClick={()=>this.setState({ id: d._id })}>更改state.id为clientIDs唯一值.这导致在Redirect表render方法中为true,触发了Redirect.
render() { // render method of '/contacts/' {Contacts} component
return(
... // table head
{ this.state.id && <Redirect to={"/contacts/card/"+this.state.id}/> }
...// table content
)
}
Run Code Online (Sandbox Code Playgroud)
这是位于父级中的路由器 App.js
render() {
return (
<BrowserRouter basename="/" >
<div>
<NavBar/>
<main>
<Switch>
<Route exact path="/" component={Login}/>
<Route
exact path="/contacts" component={Contacts}/>
<Route …Run Code Online (Sandbox Code Playgroud) 我一直在寻找在基于反应原生的应用程序上验证用户身份的解决方案.我遇到过像Firebase和JSON网络令牌这样的东西,但是,我似乎无法找到服务器和客户端设备之间的会话管理示例.
对于react/server关系,我缺少的位是服务器端的一块,它相当于$_SESSIONPHP中的那个变量,可以用来存储用户的唯一ID.
=> Client token sent with each data request.
=> Request Checks token and sends data back for that specific user/token pair
Run Code Online (Sandbox Code Playgroud)
我正在寻找一些关于如何在服务器端管理它的示例代码,并建议您建议我使用它来实现它的工具/实现.
我目前不打算实现oAuth2,因为我希望创建自己的登录系统,以便我能够正确理解应用程序的工作原理.
我搜索过互联网,似乎找不到解决方案。
我正在寻找一个可以改变这一点的键绑定/快捷方式......
<div id="foo" class={bar} />
Run Code Online (Sandbox Code Playgroud)
对此...
<div
id="foo"
class={bar}
/>
Run Code Online (Sandbox Code Playgroud) 我有一个Axios拦截器设置,用于管理响应并减少在任何地方的代码重写。当前,我需要在每个调用中Authorization使用{ config }对象添加标题,如下所示。
apiCall = () => {
const token = await AsyncStorage.getItem('JWT_BEARER_TOKEN');
const config = {
headers: {
'Authorization': 'Bearer ' + token,
}
}
const attendance = await axiosInstance.post('/team/matchday', data, config);
// ... do something with attendance
}
Run Code Online (Sandbox Code Playgroud)
我想在axiosInstance下面创建的代码中执行此操作,但是却遇到了Promise拒绝错误。我认为这是因为token返回时仍然是一个不完整的承诺。
任何想法如何正确处理此配置?
import { AsyncStorage, Alert } from 'react-native';
import axios from 'axios';
const ReturnAxiosInstance = async (token) => {
const AxiosInstance = axios.create({
baseURL: 'http://localhost:4000',
timeout: 3000,
headers: {
'Content-Type': 'application/json', …Run Code Online (Sandbox Code Playgroud) 我现在正在修改使用JSON Web令牌进行身份验证,在本机应用程序和express/passport-jwt服务器之间进行身份验证.
我可以检查从应用程序到服务器的凭据/登录没有问题,并且当密钥返回时server to app,我可以console.log(response.token)在应用程序控制台上.
然后我保存它 AsyncStorage.setItem('JWT_Key', response.token)
我的问题是,当我使用console.log(AsyncStorage.getItem('JWT_Key'))它返回时返回它[Object] [Object]
我似乎无法在文档中看到任何内容,有人可以告诉我我错过了什么吗?
我正在从react-native发送一个获取请求.为什么A会正确发送正文数据,但B会以未定义的形式返回?
let usrn = 'ususus'
lew pwrd = 'pwpwpw'
let bodyData = {
'u': usrn,
'p': pwrd,
}
Run Code Online (Sandbox Code Playgroud)
具体的身体数据与JSON.stringify()?
=> A
return fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify({
'u': usrn, // <= can return this value on server
'p': pwrd, // <= can return this value on server
})
})
=> B
return fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify({ bodyData }) // <= returns undefined on server
})
Run Code Online (Sandbox Code Playgroud) react-native ×4
reactjs ×3
asyncstorage ×1
axios ×1
key-bindings ×1
redux ×1
session ×1
stringify ×1
sublimetext ×1
sublimetext3 ×1