小编Hen*_*ody的帖子

UseEffect 钩子在更新状态时执行多次

我正在从子组件的 useEffect 钩子更新父组件的状态。以下是子组件的一段代码。这里 useEffect 被调用了两次。不知道我怎样才能避免它。

useEffect = () => { const flag = someApi; setStateOfParent(flag),[]}
Run Code Online (Sandbox Code Playgroud)

reactjs react-hooks

2
推荐指数
1
解决办法
1万
查看次数

React - 我的用于在元素外部单击的自定义挂钩有什么问题吗?

我有一个自定义挂钩,用于在菜单中的元素外部单击。发生的情况是:当我单击“打开菜单”时,它会打开菜单,当我单击外部时,它会关闭它(一切都很好),但是当我再次单击“打开菜单”按钮以关闭它时(打开它后),它将其关闭一秒钟,然后再次打开。我一直在寻找原因,但找不到。任何帮助都会很棒。抱歉,如果我没有很好地表达我的问题,我不知道如何问得更清楚:) 谢谢!

const { useState, useRef } = React;

const App = () => {
  const [showMenu, setShowMenu] = React.useState(false)

  return (
    <div>
      <div className="menu-section-conatainer">
        <button
          className={"menu-link"}
          onClick={() => {
            setShowMenu(true)
          }}
          name={title}
        >
          open menu
        </button>
      </div>

      <Menu
        showState={showMenu}
        clickHandler={setShowMenu}
      >
        {children}
      </Menu>
    </div>
  )
}

const Menu = ({ children, clickHandler, showState}) => {
  const ref = useRef()
  useOnClickOutside(ref, () => clickHandler(false))

  return (
    <div
      className="menu-expanded-wrapper"
    >
      <div ref={ref} className="menu-expanded">
        {children}
      </div>
    </div>
  )
}

const useOnClickOutside = …
Run Code Online (Sandbox Code Playgroud)

reactjs

2
推荐指数
1
解决办法
2027
查看次数

使用 React Error 边界来处理获取错误是好还是坏实践?

我需要处理 React 应用程序中组件中的异步预输入搜索栏(键入时获取到后端)中的错误,因此在考虑如何处理它们时,我想到了错误边界。

我正在考虑将搜索结果包装在错误边界中,并在结果响应无效时抛出错误。

但后来我想错误边界应该只用于更严重的错误吗?通过它处理获取错误真的是个好主意吗?

error-handling reactjs fetch-api

2
推荐指数
1
解决办法
1096
查看次数

python的列表切片效率如何?

我想知道在python中切片列表的效率如何?

例如:

myList = [1, 2, 3, 4, 5]
newList = myList[1:4]
Run Code Online (Sandbox Code Playgroud)

我正在寻找big-O表示法(例如O(n))。

python big-o slice

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

检查路径中的任何目录中是否存在文件,或者当前目录是否位于git项目中

我正在加入一个简短的命令,以我的.zshrc文件,将调用clear,ls和git status.git status只有当前目录是git项目的一部分时,才应调用该命令.

到目前为止,我有一个可行的版本,但只有当.git文件实际位于当前目录中时,才会在项目的根目录中.看起来像这样:

alias cl="clear && ls && if [ -e .git ]
then
    git status
fi"
Run Code Online (Sandbox Code Playgroud)

我想知道是否有办法检查.git当前目录的任何父目录中是否有文件 - 或者是否有其他方法可以实现此目的.

谢谢!

git bash shell zsh

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

Python的方式来构造if语句来改变变量值?

如标题所述,编写以下代码的pythonic方法是什么?

if x == 1:
    myvar = "a string"
elif x == 2:
    myvar = "another string"
elif x == 3:
    myvar = "yet another string"
else:
    raise Exception("arg x must be 1, 2 or 3")
Run Code Online (Sandbox Code Playgroud)

进行上述操作似乎有点笨拙,而对于更长的示例,则更加耗时且混乱。

python pep python-3.x

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

标签 统计

reactjs ×3

python ×2

bash ×1

big-o ×1

error-handling ×1

fetch-api ×1

git ×1

pep ×1

python-3.x ×1

react-hooks ×1

shell ×1

slice ×1

zsh ×1