Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 使用带有Auth0的Typescript设置React应用程序_Reactjs_Typescript_Auth0 - Fatal编程技术网

Reactjs 使用带有Auth0的Typescript设置React应用程序

Reactjs 使用带有Auth0的Typescript设置React应用程序,reactjs,typescript,auth0,Reactjs,Typescript,Auth0,我正在尝试使用使用带有Typescript模板的CreateReact应用程序创建的项目来处理Auth0示例应用程序 我找到了一个让我通过react-auth0-spa.tsx()的示例。但是,当我尝试创建NavBar.tsx时,它似乎不理解useAuth0()调用返回的类型。我是一个比较轻量级的Typescript,但这似乎是因为类型被声明为可空,尽管这只是一个猜测 以下是react-auth0-spa.tsx的导出: 下面是VSCode向我显示的错误: 但是接口上的isAuthentic

我正在尝试使用使用带有Typescript模板的CreateReact应用程序创建的项目来处理Auth0示例应用程序

我找到了一个让我通过react-auth0-spa.tsx()的示例。但是,当我尝试创建NavBar.tsx时,它似乎不理解useAuth0()调用返回的类型。我是一个比较轻量级的Typescript,但这似乎是因为类型被声明为可空,尽管这只是一个猜测

以下是react-auth0-spa.tsx的导出:

下面是VSCode向我显示的错误:

但是接口上的isAuthenticated非常明确,这让我认为可为null的声明是我问题的一部分:

如果我将类型声明更改为“any”,它会工作,但这显然是错误的答案。使用Typescript的全部要点是用于静态键入

我还发现,这似乎意味着这应该有效。我已经查看了tsconfig.json和其他一些文件,看看是否有不同的编译器选项,但还没有找到合适的选项

我错过了什么


提前谢谢。

看来我的怀疑是对的。我在创建useAuth0 lambda的调用中缺少一个尾随的非空断言运算符

这是什么

export const useAuth0 = () => useContext(Auth0Context);
需要这样做:

export const useAuth0 = () => useContext(Auth0Context)!;