使用 useEffect 时出现“,”预期错误

I get ',' Expected error when using useEffect

我刚开始使用 JS 和 ReactNative,所以如果这个问题太菜鸟了,请原谅...

我正在关注 youtube 上的教程并关注作者所做的最后一步。

在这种情况下,他使用了 useEffect 并且对他有效,但我收到“,”预期错误。 (在每个 :

useEffect ( effect: () => {
    console.warn( data: 'useEffect is called');
    if (originPlace && destinationPlace) {
        console.warn( data: 'Redrect to results');
    }
}, deps: [originPlace, destinationPlace]);

你可以看看https://youtu.be/sIRcN0MeZVU?t=6758 (应该从 1:52:38 跳转开始),您会看到他的代码并且对他有效。 不过我在 Windows,他在 Mac。

我遇到的另一个问题是他的代码中的第 9 行和第 10 行 - 他有 (initalState: null);我收到一个错误,希望它被括在括号中,我是这样做的 ({initalState: null});

你能解释一下为什么我会发生这种情况,而作者不会发生这种情况吗?我该如何解决? 感谢您的帮助!

console.warn( data: 'useEffect is called');中,data:不是编辑器添加的类型提示。所以你应该只使用 console.warn 就像简单的 console.log.

console.warn('useEffect is called');

这看起来不像有效的 js 语法。试试

useEffect(() => {
    console.warn('useEffect is called');
    if (originPlace && destinationPlace) {
        console.warn('Redrect to results');
    }
}, [originPlace, destinationPlace]);

尽管有一个评论,我看到作者展示了代码,但他似乎并没有展示它的工作原理,他转移到另一个主题,所以不清楚它是否真的对他有用。

Edit2:我只是注意到那里发生了什么,他没有输入 effect:deps: 字符串,这是他使用的某种扩展名,显示了参数的名称,但你应该不要输入那部分。您看到的所有参数 something: 字符串只是代码编辑器添加的一些额外信息,但它不是实际代码,因此对于您与 (initalState: null) 共享的示例,它实际上只是 (null)但是扩展名显示了那个东西的名称以供参考(但你不要编码)。

有些人在没有阐明那里发生了什么或如何在您的代码编辑器中做同样的事情的情况下进行教学,这有点令人困惑