Onsen UI for React文档

注:采用ES6+JSX语法

1、开始一个项目

在React中使用Onsen UI 需要首先安装onsenui和react-onsenui模块。

可以使用monaca CLI工具包快速初始化一个应用:

$ npm install -g monaca # Install Monaca CLI - Onsen UI toolkit
$ monaca create helloworld # Choose React template
$ cd helloworld; monaca preview # Run preview, or "monaca debug" to run on your device

通过npm安装:

# The "react-onsenui" library requires the "onsenui" library.
$ npm install --save-dev onsenui react-onsenui

2、在React项目中加载Onsen UI

Onsen UI for React是一个Onsen UI核心的扩展,是一个基于组件的UI框架。需要加载以下两个JS模块:

  • Onsen UI Core(onsenui)
  • Onsen UI for React Extension(react-onsenui)

可以使用常规<script>标签引入:

<script src="react.js"></script>
<script src="react-dom.js"></script>
<script src="onsenui.js"></script>
<script src="react-onsenui.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.min.js"></script>

或者使用CommonJS模块的方式引入:

var React = require(‘react‘);
var ReactDOM = require(‘react-dom‘);
var ons = require(‘onsenui‘);
var Ons = require(‘react-onsenui‘);

或者使用ES6语法引入你需要的组件:

import {Page, Toolbar, Button} from ‘react-onsenui‘;

3、Onsen UI HelloWorld with React

作为例子,我们创建一个React+Onsen UI版本的Hello World应用。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8" />
    <link rel="stylesheet" href="css/onsenui.css">
    <link rel="stylesheet" href="css/onsen-css-components.css">
    <script src="react.js"></script>
    <script src="react-dom.js"></script>
    <script src="onsenui.js"></script>
    <script src="react-onsenui.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/babel-core/6.1.19/browser.min.js"></script>
  </head>
  <body>
    <div id="app"></div>
  </body>
  <script type="text/babel">
    var App = React.createClass({
      handleClick: function() {
        ons.notification.alert(‘Hello world!‘);
      },

      render: function() {
        return (
          <Ons.Page>
            <Ons.Button onClick={this.handleClick}>Tap me!</Ons.Button>
          </Ons.Page>
        );
      }
    });
    ReactDOM.render(<App />, document.getElementById(‘app‘));
  </script>
</html>

在这个例子里,我们render了一个<Ons.Page>组件,其中包含一个<Ons.Button>组件,它在被点击后触发handleClick事件处理程序。

return (
  <Ons.Page>
    <Ons.Button onClick={this.handleClick}>Tap me!</Ons.Button>
  </Ons.Page>
);

由本例可知,<Ons.*>组件是React组件,它们由react-onsenui引入。

4、创建一个主页面(<Page>)

使用<Page>创建一个主页面(根页面),它覆盖整个屏幕并作为其他元素的容器。

增加工具条

使用<Toolbar>或者<BottomToolbar>创建顶部或者底部工具条,以下是一个典型的工具条示例:

<Page renderToolbar={() =>
  <Toolbar>
    <div className="left">
      <BackButton>Back</BackButton>
    </div>
    <div className="center">Title</div>
    <div className="right">
      <ToolbarButton>
        <Icon icon="md-menu" />
      </ToolbarButton>
    </div>
  </Toolbar> }
>
  Static page app
</Page>

工具条被分为3个部分(left,center,right),任一部分都可以使用<Icon>展示图标,使用<ToolbarButton>或者<BackButton>展示按钮,或者在其中插入任意HTML元素。

5、事件处理

使用React相同的方式响应事件处理。比如,使用onClick属性来响应点击事件,使用onChange属性响应文本变更事件:

class MyPage extends React.Component {
  handleClick() {
    ons.notification.alert(‘Hello, world!‘);
  }
  render() {
    return() (
      <Page>
         <Button onClick={this.handleClick}>Click me!</Button>
      </Page>
    );
  }
}

6、ons对象

https://onsen.io/v2/docs/guide/react/#the-ons-object

时间: 2024-08-25 16:42:06

Onsen UI for React文档的相关文章

Swagger UI教程 API 文档神器 搭配Node使用 web api 接口文档 mvc接口文档

两种方案 一.Swagger 配置 web Api 接口文档美化 二.通过NodeJS 发布Swagger UI 配置api 文档 先说一下简单的 Swagger 配置 web Api  Swagger-UI本身只提供在线测试功能,要集成它还需要告诉它本项目提供的各种服务和参数信息.这里就需要一些工作量了,不过好在许多第三方库已经给我们完成了这一工作.我这里用的是Swashbuckle,使用它也比较简单,直接使用Nuget添加其程序包即可: 1.初始化包  PM> Install-Package

React文档(一)安装

React是一个灵活的可以用于各种不同项目的框架,你可以用它来写新应用,你也可以逐步将它引进已有的代码库而不用重写整个项目. 试用React 如果你想玩一玩React,那么就去CodePen上试一试.尝试一下Hello World的React例子.不需要安装任何东西,只是修改代码然后查看结果. 如果你更喜欢在本地编辑,那么你也可以下载此文件,修改它,然后在本地用浏览器打开.但是它会做一个很慢的运行时代码转换,所以不要像这样在产品中使用. 创建一个单页应用 创建React应用这个项目是一个最好的方

Swagger UI教程 API 文档神器 搭配Node使用

ASP.NET Web API 使用Swagger生成在线帮助测试文档 Swagger 生成 ASP.NET Web API 前言 swagger ui是一个API在线文档生成和测试的利器,目前发现最好用的. 为什么好用?Demo 传送门 支持API自动生成同步的在线文档 这些文档可用于项目内部API审核 方便测试人员了解API 这些文档可作为客户产品文档的一部分进行发布 支持API规范生成代码,生成的客户端和服务器端骨架代码可以加速开发和测试速度 总结一句话就是好用,逼格高.下面我将总结一下如

react文档demo实现输入展示搜索结果列表

文档页面地址:https://doc.react-china.org/docs/thinking-in-react.html 该文档只给了具体实现思路,下面是我实现的代码. 初学react,如果有写的不规范的地方,望大家多多指正! FilterableProductTable (橙色): 包含了整个例子 SearchBar (蓝色): 接受所有的用户输入 ProductTable (绿色): 根据用户输入过滤并展示数据集合 ProductCategoryRow (绿松石色): 展示每个分类的标题

UI 基础----Xcode 文档路径,模拟器路径

Xcode文档安装路径 /Applications/Xcode.app/Contents/Developer/Documentation/DocSets Xcode模拟器安装路径 /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs 著作权声明:本文为作者原创,欢迎转载分享.请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

React文档(三)介绍JSX

我们先看看这个变量声明: const element = <h1>Hello, world!</h1>; 这个有趣的标签语法既不是字符串也不是HTML. 这种写法叫做JSX,这是一种对js语法的扩展.我们建议使用这种语法和React配合去描述UI本来应该的样子.JSX也许会让你想到模板语言,但是它拥有js的强大支持是与生俱来的. JSX生产React"元素".我们会在下一章讲解将这些React元素渲染到DOM中.下面,你可以来看看JSX的基础知识来起步. 在JS

React文档(十四)深入JSX

根本上,JSX只是为React.createElement(component, props, ...children)函数提供语法糖.JSX代码是这样的: <MyButton color="blue" shadowSize={2}> Click Me </MyButton> 编译成这样: React.createElement( MyButton, {color: 'blue', shadowSize: 2}, 'Click Me' ) 你也可以使用自己闭合的

React文档(二十二)context

React中,通过React组件可以很容易地追踪数据流.当你关注一个组件,你可以发现哪一个props被传递了,这样使得你的应用很容被推断. 在一些情况下,你想要传递数据通过组件树而不需要去手动在每一层传递.你可以直接使用强大的context API. 为什么不使用context 大量的应用不需要使用context. 如果你希望你的应用稳定,不要使用context.这是一个实验性的API在未来的版本中有可能会崩溃. 如果你不熟悉state管理库就类似于Redux或者Mobx,不要使用context

React文档(二十)不使用JSX

JSX并不是使用React的一个强制需求.当你不需要在你的构造环境里设置编译那么不使用JSX会很方便. 每一个JSX元素只是调用React.createElement(componnet, props, ...children)的语法糖.因此,JSX能做的事原生js同样也做得到. 举个例子,下面的代码用JSX: class Hello extends React.Component { render() { return <div>Hello {this.props.toWhat}</d