小编Flo*_*all的帖子

Firebase:在新选项卡上丢失身份验证状态

我在我的项目中使用 Firebase 身份验证,一切正常,但我的应用程序中的多个对象有一个上下文菜单,它会打开一个新选项卡(在同一应用程序内)。

当用户在此会话中第一次打开新选项卡时,第一个/初始选项卡将丢失其身份验证状态,因此所有订阅者都会取消订阅(因为缺少权限),并且用户会在该选项卡中看到登录页面。

我的登录功能(和持久性设置)如下所示。

const login = async (values: { email: string; password: string }) => {
        try {
            // some unrelated code above
            const { email, password } = values;
            await setPersistence(auth, browserLocalPersistence);
            await signInWithEmailAndPassword(auth, email, password);
        } catch (error) {
            console.error(error);
        } finally {
            // some more unrelated code below
        }
    };
Run Code Online (Sandbox Code Playgroud)

当用户继续在较新的选项卡之一中使用该应用程序时,例如从那里触发一个新选项卡,身份验证状态就可以正常工作。它只发生在第一个(初始)选项卡上。

我的登录过程是否做错了什么,或者这是 firebase 的常见问题?我在网上搜索,不幸的是找不到有同样问题的人。

提前致谢。

更新:

我移动了

await setPersistence(auth, browserLocalPersistence);
Run Code Online (Sandbox Code Playgroud)

在onAuthStateChanged侦听器中,看起来它解决了我的问题(目前)。

更新(2023 年 4 月 25 日):

不幸的是它仍然没有按预期工作。有没有任何解决方案或提示我做错了什么?我真的很感激这里的一些帮助。

此外,此行为仅在使用 打开新选项卡时出现window.open('/foo', '_blank')。当我通过复制和粘贴手动打开所需的目标 …

firebase typescript firebase-authentication

7
推荐指数
1
解决办法
742
查看次数

EditorJS 总是呈现两个编辑器

我正在尝试使用 EditorJS 的编辑器。一切工作正常,除了当我第一次加载页面时,它会在开始时初始化两个编辑器,并在每次重新加载页面时不断附加新编辑器。但它们都在<div id='editorjs' />div内部。我有什么遗漏的吗?

// react etc. imports
import EditorJS from '@editorjs/editorjs'

const EditorComponent = (props) => {
    const [input, setInput] = useState({})
    const currentuser = useSelector((state) => state.currentuser)

    const editor = new EditorJS({
        holderId: 'editorjs',
        autofocus: true,
    })

    const postNews = () => {
        // POSTING SUTFF
    }

    return (
        <Grid>
            <Grid templateRows='auto min-content' gap={6}>
                <div id='editorjs' />
                <Button onClick={postNews}>Post news</Button>
            </Grid>
        </Grid>
    )
}
Run Code Online (Sandbox Code Playgroud)

两名编辑

这是 dom 的屏幕截图,其中加载页面后立即添加了两个编辑器。

javascript reactjs editorjs

6
推荐指数
1
解决办法
2106
查看次数

双向链表的第一个和最后一个元素

我有一个关于双向链表的问题。我在互联网上找不到对我的问题的任何合适的解释。也许我只是愚蠢到找不到正确的问题..

这是链表初始化时的样子:

[Head][Tail]
Run Code Online (Sandbox Code Playgroud)

但是当我将值添加到列表时实际的头和尾节点是否仍然存在,或者当我添加值时它们会被覆盖吗?

它应该是这样的:

[Head][Value1][Value2][Value3][Value4][Tail]
Run Code Online (Sandbox Code Playgroud)

或者像这样:

[Value1][Value2][Value3][Value4][Value5]
Run Code Online (Sandbox Code Playgroud)

java algorithm list

3
推荐指数
1
解决办法
525
查看次数

意外令牌,预期为“;” 在React Native构造函数中

当我想在我的React Native项目中添加构造函数时,我总是以意外的令牌结尾,期望为“;”。(6:28)。

我已经尝试在每个可能的位置添加分号,但无法弄清楚实际出了什么问题,因为我是TypeScript和React Native的新手。

export default function App() {

  constructor(props: Props) {
    super(props);

    this.state = {
      welcomeText: 'Hey this is not working'
    };
  }

  return (
    <View style={styles.container}>
      <View style={styles.subContainer}>

      </View>
      <View style={styles.subContainer}>
        <Text style={text.header}>Welcome</Text>
        <Text style={text.onBoardingContent}>

        </Text>
      </View>
    </View>
  );
}

...
Run Code Online (Sandbox Code Playgroud)
SyntaxError: /Users/Puerschel/Desktop/Whale/Project/Whale/App.tsx: Unexpected token, expected ";" (6:28)

  4 | export default function App() {
  5 |
> 6 |   constructor(props: Props) {
    |                             ^
  7 |     super(props);

  8 |
  9 |     this.state = {
Failed building JavaScript …
Run Code Online (Sandbox Code Playgroud)

typescript react-native

0
推荐指数
1
解决办法
94
查看次数