美文网首页
RN学习笔记1–基础

RN学习笔记1–基础

作者: Realank | 来源:发表于2018-06-20 18:39 被阅读27次

1.prop实现子component绑定

import React, { Component } from 'react';
import { Text, View } from 'react-native';

class Greeting extends Component {
  render() {
    return (
      <Text>Hello {this.props.name}!</Text>
    );
  }
}

export default class LotsOfGreetings extends Component {
  render() {
    return (
      <View style={{alignItems: 'center'}}>
        <Greeting name='Rexxar' />
        <Greeting name='Jaina' />
        <Greeting name='Valeera' />
      </View>
    );
  }
}

2. state 实现component内部状态绑定

import React, { Component } from 'react';
import { Text, View } from 'react-native';

class Blink extends Component {
  constructor(props) {
    super(props);
    this.state = { showText: true };

    // 每1000毫秒对showText状态做一次取反操作
    setInterval(() => {
      this.setState(previousState => {
        return { showText: !previousState.showText };
      });
    }, 1000);
  }

  render() {
    // 根据当前showText的值决定是否显示text内容
    let display = this.state.showText ? this.props.text : ' ';
    return (
      <Text>{display}</Text>
    );
  }
}

export default class BlinkApp extends Component {
  render() {
    return (
      <View>
        <Blink text='I love to blink' />
        <Blink text='Yes blinking is so great' />
        <Blink text='Why did they ever take this out of HTML' />
        <Blink text='Look at me look at me look at me' />
      </View>
    );
  }
}

3. 写样式

import React, { Component } from 'react';
import { AppRegistry, StyleSheet, Text, View } from 'react-native';

export default class LotsOfStyles extends Component {
  render() {
    return (
      <View>
        <Text style={styles.red}>just red</Text>
        <Text style={styles.bigblue}>just bigblue</Text>
        <Text style={[styles.bigblue, styles.red]}>bigblue, then red</Text>
        <Text style={[styles.red, styles.bigblue]}>red, then bigblue</Text>
      </View>
    );
  }
}

const styles = StyleSheet.create({
  bigblue: {
    color: 'blue',
    fontWeight: 'bold',
    fontSize: 30,
  },
  red: {
    color: 'red',
  },
});

AppRegistry.registerComponent('LotsOfStyles', () => LotsOfStyles);

4.布局

flex:1 可以使其在可利用的空间中动态地扩张或收缩

4.1 FlexBox布局

a. flexDirection 决定子元素布局的主轴
-row
-column


RN学习笔记1–基础

b. justifyContent决定子元素沿着主轴的排列方式
flex-start、center、flex-end、space-around以及space-between

RN学习笔记1–基础

c. alignItems决定其子元素沿着次轴的排列方式
flex-start、center、flex-end以及stretch

RN学习笔记1–基础

其他布局内容:


RN学习笔记1–基础
RN学习笔记1–基础

5.输入框

import React, { Component } from 'react';
import { AppRegistry, Text, TextInput, View } from 'react-native';

export default class PizzaTranslator extends Component {
  constructor(props) {
    super(props);
    this.state = {text: ''};
  }

  render() {
    return (
      <View style={{padding: 10}}>
        <TextInput
          style={{height: 40}}
          placeholder="Type here to translate!"
          onChangeText={(text) => this.setState({text})}
        />
        <Text style={{padding: 10, fontSize: 42}}>
          {this.state.text.split(' ').map((word) => word && '').join(' ')}
        </Text>
      </View>
    );
  }
}

相关文章

  • RN学习笔记1–基础

    1.prop实现子component绑定 2. state 实现component内部状态绑定 3. 写样式 4....

  • ReactNative学习总结(二)

    最近学RN也大概有两个礼拜了。紧跟上篇总结ReactNative一些基础知识再总结下学习RN的笔记。 前言 学习R...

  • React Native 常用组件

    1、自带组件 最常用的当然还是 rn 自带的一系列组件了,基础中的基础,这个没什么可说的,可以在 rn中文网 学习...

  • RN基础学习

    今天刚到新公司,要求学习RN,就在网上搜索教程学习了下。下面是按照步骤一步一步来操作: 一 安装环境 对于iOS来...

  • React-Native中的Flexbox布局

    RN 的 Flexbox 布局的学习笔记 1.什么是 Flexbox 布局? Flexbox,弹性布局,可以以响应...

  • 2022-05-27

    RN学习之路1:mac系统下搭建RN环境 1,安装homebrew 终...

  • RN学前考虑、成果展示

    目录一. 学前考虑 1. 什么是RN 2. 为什么要学习RN 3. 我的RN学习线路和学习资料二. 成果展示 1....

  • RN笔记1

    1、有效解决用户点击过快效应多次的控件 react-native-touch-once 2、弹出toast即弹出一...

  • RN学习笔记

    环境搭建: 安装npm和Node.js,Node.js下载地址 安装watchMan,该插件用于监控bug文件和文...

  • RN学习笔记

    1 项目down下来后,先启动服务器,npm install 如果这个命令行不好使,就重新安装 node.js 2...

网友评论

      本文标题:RN学习笔记1–基础

      本文链接:https://www.haomeiwen.com/subject/tvgxyftx.html