# 如何使用 react/vue 实现一个 message API

更多描述

可以实现如下 API

message.info() message.success()

Issue

欢迎在 Issue 中交流与讨论: Issue 101

Author

回答者: allan-hx

import React from 'react';
import ReactDOM from 'react-dom';
// info组件
import Info from 'info';
// success组件
import Success from 'success';

function createMessage(message, Com) {

  let el = document.createElement('div');

  document.body.appendChild(el);

  const component = React.createElement(Com, {
    message
  });

  ReactDOM.render(component, el);
}

const message = {
  info(message) {
    return createMessage(message, Info);
  },
  success(message) {
    return createMessage(message, Success);
  },
};

export default message;

主要实现思路就是创建一个div到body下,然后利用ReactDOM.render将组件渲染到这个容器下,这只是一个简单的实现,没实现关闭和多次调用

扫码关注公众号全栈成长之路,并发送

即可在关注期间无限制浏览本站全部文章内容

你也可以在文章关于回复公众号扫码解锁全站的技术实现中获得解锁代码,永久解锁本站全部文章

Last Updated: 1/13/2020, 2:44:03 PM