react-native - 标题有问题 apollo grapgql
问题描述
我一直在尝试添加标头,但不断收到错误“jwt malformed”,并且我做了一些研究,有些人说如果您将 null 添加到令牌值,它将返回“jwt malformed”,这是一些代码
const authLink = setContext(async (req, { headers }) => {
const token = await AsyncStorage.getItem("token")
return {
...headers,
headers: {
Authorization: token ? `Bearer ${token}` : null
}
}
})
const token = AsyncStorage.getItem("token")
export const client = new ApolloClient({
link: authLink.concat(new HttpLink({ uri: "https://xxxxx.xxxxxx.xxx/" })),
cache: new InMemoryCache()
})
但我不知道是我的标题是问题还是我的根组件是问题,在我的根组件中,我试图为已经登录的用户创建受保护的路由,代码如下
const { data, error, loading } = useQuery(ME_QUERY)
if (loading) return <Text>loading..</Text>
if (error) return <Text>{error.message}</Text>
if(!data.me) return (
<NavigationContainer>
<Stack.Navigator initialRouteName="Login">
<Stack.Screen name="Landing" component={Landing} options={{ headerShown: false }} />
<Stack.Screen name="Register" component={Signup} options={{ headerShown: false }} />
<Stack.Screen name="Login" component={Login} options={{ headerShown: false }} />
</Stack.Navigator>
</NavigationContainer>
)
return (
<NavigationContainer>
<Stack.Navigator initialRouteName="home">
<Stack.Screen name="Landing" component={Landing} options={{ headerShown: false }} />
<Stack.Screen name="Register" component={Signup} options={{ headerShown: false }} />
<Stack.Screen name="Login" component={Login} options={{ headerShown: false }} />
<Stack.Screen name="home" component={Home} options={{ headerShown: false }} />
</Stack.Navigator>
</NavigationContainer>
)
}
但是我被困在这个问题上一分钟了,这有点令人沮丧,请帮忙
解决方案
推荐阅读
- docker - 无法在 Hyperledger Fabric 网络 V 0.19 上启动网络。错误:REQUEST_TIMEOUT 命令失败
- reporting-services - SSRS 中的重复(子报表)
- c# - 使用 C# 将 xml 拆分为多个 xml
- python - 未定义 Django NameError 名称“请求”
- java - Java中的对象数组中的对象数组
- java - 带有 *value* 前缀的 XML 属性 - 如何判断它是命名空间前缀?
- javascript - 通过 JavaScript 设置下拉默认值不起作用
- java - IntelliJ 依赖问题
- python - 在不使用循环的情况下比较两个 numpy 数组中的所有元素
- html - CSS 图像在固定容器中缩小