【问题标题】:Is it a good practice to use switch case in useEffect Reactjs?在 useEffect Reactjs 中使用 switch case 是一个好习惯吗?
【发布时间】:2022-02-01 13:50:30
【问题描述】:

我正在处理某些功能中的某些功能。基本上我正在处理多个功能中的一些状态。当特定状态更新时,需要调用这些函数。现在有很多状态要更新。所以我尝试了这种方法,我为特定情况创建了一个函数,然后根据该值设置它们的状态,但它都在 useEffect 中。

useEffect(() => {
    if (notificationAction && actualCase) {
        switch (actualCase) {
            case firstCase:
                handleStatesBasedOnFirstCase();
                break;
            case firstCase:
                handleStatesBasedOnSecondCase();
                break;
        }
    }
}, [actualCase, notificationAction])

而且那个函数也是一个回调。

const handleStatesBasedOnFirstCase = useCallback(() => {
    if (someState !== props.someState) {
        // Setting some states here
    }
}, [somestates...])

这是一个好习惯吗?或者我应该在初始化状态时给出条件。

const [someState, setSomeState] = useState(props.someState || props.someOtherValue);

我认为在 useState 中设置 props 不是一个好习惯。这就是我试图维护多个功能以根据适当的情况和条件设置适当状态的原因。请帮帮我。

【问题讨论】:

标签: javascript reactjs typescript react-native react-functional-component


【解决方案1】:

根据 cmets 中的@Nikki9696 回答,使用 reducer 即可。

【讨论】:

    猜你喜欢
    • 2022-01-20
    • 2021-07-17
    • 1970-01-01
    • 1970-01-01
    • 2016-01-03
    • 2020-05-09
    • 1970-01-01
    • 1970-01-01
    • 2019-08-05
    相关资源
    最近更新 更多