zoukankan      html  css  js  c++  java
  • [REASONML] Using Javascript npm package from REASON

    For example, we want to use moment.js inside our ReasonML code.

    What we can do is create a module file:

    //Moment.re
    
    type tt;
    
    external momentWithDate : Js.Date.t => tt = "moment" [@@bs.module];
    
    external format : tt => string => string = "" [@@bs.send];

    Using it inside component:

    /* This is the basic component. */
    let component = ReasonReact.statelessComponent "Page";
    
    /* Your familiar handleClick from ReactJS. This mandatorily takes the payload,
       then the `self` record, which contains state (none here), `handle`, `reduce`
       and other utilities */
    let handleClick _event _self => Js.log "clicked!";
    
    let momentNow = Moment.momentWithDate(Js.Date.make());
    
    /* `make` is the function that mandatorily takes `children` (if you want to use
       `JSX). `message` is a named argument, which simulates ReactJS props. Usage:
    
       `<Page message="hello" />`
    
       Which desugars to
    
       `ReasonReact.element (Page.make message::"hello" [||])` */
    let make ::message ::times _children => {
      ...component,
      render: fun self =>
        <div onClick=(self.handle handleClick)> 
        (ReasonReact.stringToElement message) 
        (ReasonReact.stringToElement times) 
        (ReasonReact.stringToElement (Moment.format momentNow "dddd"))
        </div>
    };
  • 相关阅读:
    Mysql安装
    Python的内存管理机制
    Ansible模块
    Redis持久化
    Linux——ansible(1)
    Flask
    Flask入门
    ajax处理回调函数,用ajax向后台发送数据
    数字类型钱币转换为大写
    ligerui多选动态下拉框
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7745823.html
Copyright © 2011-2022 走看看