4.3 开发一个自己的业务组件

优质
小牛编辑
134浏览
2023-12-01

一个标准的ES6 语法的组件

  • 每个组件都有一个 render 方法,用来接收数据然后返回要显示在页面上的内容。

如果你的项目中需要对常用业务组件进行封装,可以参考如下建议demo

开发一个自己的button

  • 新建 AwesomeProject/src/components/easy-button.jsx
/* @jsx createElement */
import { createElement, Component } from 'weex-rx';
import { mount } from 'nuke-mounter';
import { View, Text, TouchableHighlight, Modal} from 'nuke';

class EasyButton extends Component {
    pressHandler(e){
        Modal.toast('hello weex')
    }
    render() {
        const {style,onPress,children} = this.props;
        return(
            <TouchableHighlight onPress={this.pressHandler.bind(this)} style={style}>
                <Text>{children}</Text>
            </TouchableHighlight>);       
  }
}

export default EasyButton;

使用:

/* @jsx createElement */
import { createElement, Component } from 'weex-rx';
import { mount } from 'nuke-mounter';
import {EasyButton} from './components/easy-button.jsx';
import { View, Text, TouchableHighlight, Modal} from 'nuke';

class Demo extends Component{
    render(){
        return <View><EasyButton children='我是按钮'></EasyButton></View>
    }
}

mount(<Demo />, 'body');
  • TouchableHighlight

    在这个组件里,我们用到了基础组件 TouchableHighlight ,这个组件具备onPress 方法,而Text 组件没有onPress 方法。

  • Text

    Text 用于包裹一段文本。