当前位置:首页 > JavaScript

如何实现js复用

2026-02-02 23:03:37JavaScript

使用函数封装复用逻辑

将重复代码封装成函数,通过参数传递差异化部分。例如表单验证逻辑可抽象为通用验证函数:

function validateInput(input, rules) {
  return rules.every(rule => rule.test(input.value));
}

采用模块化开发

使用ES6模块化拆分功能,通过import/export实现复用:

// utils.js
export function formatDate(date) {
  return new Date(date).toLocaleString();
}

// app.js
import { formatDate } from './utils.js';

创建自定义Hooks(React)

在React中提取状态逻辑为可复用的Hook:

如何实现js复用

function useFetch(url) {
  const [data, setData] = useState(null);
  useEffect(() => {
    fetch(url).then(res => res.json()).then(setData);
  }, [url]);
  return data;
}

设计高阶组件

通过高阶组件包装通用功能,如权限校验:

const withAuth = (WrappedComponent) => {
  return (props) => {
    return isLogin ? <WrappedComponent {...props} /> : <Redirect to="/login" />;
  };
};

使用Mixin模式(Vue)

Vue2中可通过mixin共享组件选项:

如何实现js复用

const logMixin = {
  created() {
    console.log(`Component ${this.$options.name} created`);
  }
};

Vue.component('example', {
  mixins: [logMixin],
  // ...
});

构建工具类库

将通用工具方法集中管理:

class StringUtils {
  static trimExtraSpaces(str) {
    return str.replace(/\s+/g, ' ').trim();
  }
}

应用设计模式

使用工厂模式创建相似对象:

class DialogFactory {
  static create(type) {
    switch(type) {
      case 'alert': return new AlertDialog();
      case 'confirm': return new ConfirmDialog();
    }
  }
}

服务化共享逻辑

将数据获取等逻辑封装为服务:

const UserService = {
  getUsers: () => axios.get('/api/users'),
  createUser: (data) => axios.post('/api/users', data)
};

分享给朋友:

相关文章

vue如何实现放大缩小

vue如何实现放大缩小

Vue 实现放大缩小功能 在 Vue 中实现放大缩小功能可以通过多种方式实现,以下介绍几种常见的方法: 使用 CSS transform 缩放 通过绑定 CSS 的 transform: scale…

h5如何实现蜡烛点亮

h5如何实现蜡烛点亮

实现蜡烛点亮的H5方法 在H5中实现蜡烛点亮效果,可以通过CSS动画、Canvas绘图或结合JavaScript交互来实现。以下是几种常见的方法: 使用CSS动画和JavaScript 通过CSS定…

react如何实现keepalive

react如何实现keepalive

React 实现 KeepAlive 的方法 React 本身没有内置的 KeepAlive 组件,但可以通过以下方式模拟类似功能,实现组件状态保持或避免重复渲染。 使用 CSS 隐藏组件 通过 C…

vue 分页如何实现

vue 分页如何实现

实现 Vue 分页的几种方法 使用 Element UI 分页组件 Element UI 提供了现成的分页组件 el-pagination,适合快速集成。安装 Element UI 后,直接引入组件并…

vue如何实现ssr

vue如何实现ssr

Vue 实现 SSR 的基本原理 Vue 的 SSR(Server-Side Rendering)核心思想是将组件在服务器端渲染为 HTML 字符串,直接发送给浏览器,再由客户端激活(Hydratio…

vue指令如何实现

vue指令如何实现

Vue 指令的基本实现方式 Vue 指令通过 Vue.directive 方法注册,接受一个指令名和一个定义对象。定义对象包含钩子函数(如 bind、inserted、update 等),用于在不同阶…