hooks——useReducer使用

对于useReducer,如果你对redux熟悉,你可以把它理解为一个没有全局共享功能的redux。如果不熟,你也可以把它理解为一个加强的useState。

它的好处在于:
1、可以更好的描述“如何更新状态”
2、组件负责发出 action,reducer 负责更新状态的解耦模式
3、通过传递 dispatch ,可以减少状态值的传递

const initState = { count: 0 };

const reducer = (state, action) => {
  switch (action.type) {
    case "add":
      return { count: state.count + 1 };
    case "subtract":
      return { count: state.count - 1 };
  }
};
const Home = () => {
  const [state, dispatch] = useReducer(reducer, initState);

  return (
    <div>
      {state.count}
      <button onClick={() => dispatch({ type: "add" })}>++</button>
      <button onClick={() => dispatch({ type: "subtract" })}>++</button>
    </div>
  );
};
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在Vue 3中,hooks是一种函数的写法,用于将文件中的一些功能代码抽离出来,以实现代码的复用。与Vue 2中的mixin类似,但相比之下,hooks更加清晰易懂,更能明确代码的复用来源。 使用vue hooks的方法如下: 1. 首先,在Vue组件中导入所需的hook函数。例如,可以使用`import { ref, reactive, computed, watch } from 'vue'`导入常用的hook函数。 2. 然后,在Vue组件中使用所导入的hook函数创建自定义的hooks。例如,可以使用`ref`函数创建一个响应式的变量,使用`reactive`函数创建一个响应式的对象,使用`computed`函数创建一个计算属性,使用`watch`函数监听数据的变化等。 3. 最后,在Vue组件中使用自定义的hooks。可以在模板中直接使用响应式的变量、对象和计算属性,也可以在组件的生命周期钩子函数中使用`watch`函数监听数据的变化。 需要注意的是,Vue 3中的hooks是基于Composition API开发的,所以也可以使用Composition API来进行自定义封装hooks。通过使用hooks,可以更灵活地组织和复用组件的逻辑代码,提高代码的可维护性和可读性。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [vue3中hooks的介绍及用法](https://blog.csdn.net/JaneLittle/article/details/127127644)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值