React Native组件

摘要:
1.<文本输入/>自动大写=“none”//自动记录历史输入值autoCorrect={true}//自动更正占位符=“searchforproject”//提示文本可编辑={true}//是否可以编辑最大值

1.<TextInput />

            autoCapitalize="none"  //自动记录历史输入值

            autoCorrect={true} //自动纠正

            placeholder="search for a project"  //提示文字

            editable = {true}  //是否可编辑

            maxLength = {10}  //最多多少个字

            multiline = {true}  //是否支持多行

            numberOfline = {2}  //最多两行,超过两行则往上推

            onEndEditing = {this.onSearchChange}  //搜索停止则调用该方法

        keyboardType = "default"  //弹出键盘类型

    //TextInput失去焦点时,键盘不消失,解决方法:给当前的TextInput设置一个ref属性,以及onFocus方法来实现。

     ref = "textInput"
            onFocus = {() => {this.refs.textInput.focus()}}
 

2.<ListView />

 ScrollView适合用来显示数量不多的滚动元素。放置在ScollView中的所有组件都会被渲染,哪怕有些组件因为内容太长被挤出了屏幕外。如果你需要显示较长的滚动列表,那么应该使用功能差不多但性能更好的ListView组件。

ListView更适于长列表数据,且元素个数可以增删。和ScrollView不同的是,ListView并不立即渲染所有元素,而是优先渲染屏幕上可见的元素。

ListView组件必须的两个属性是dataSourcerenderRowdataSource是列表的数据源,而renderRow则逐个解析数据源中的数据,然后返回一个设定好格式的组件来渲染。

constructor(props) {
  super(props);
  var ds = new ListView.DataSource({rowHasChanged: (r1, r2) => r1 !== r2});
  this.state = {
    dataSource: ds.cloneWithRows(['row 1', 'row 2']),
  };
}
render() {
  return (
    <ListView
      dataSource={this.state.dataSource}
      renderRow={(rowData) => <Text>{rowData}</Text>}
    />
  );
}

3.NavigatorIOS

 

4.<Image>

 let pic = {
      uri: 'https://upload.wikimedia.org/wikipedia/commons/d/de/Bananavarieties.jpg'
    };

 <Image source={pic} style={{ 193, height: 110,marginTop:150}}/>

 

5.WebView

  <WebView source={{uri: 'https://github.com/facebook/react-native'}} style={{marginTop: 20}} />

 

6.<View></View>

View 常用作其他组件的容器,来帮助控制布局和样式。

 

7.Navigator

相关属性:renderScene方法,导航栏可以根据指定的路由来渲染场景。

configureScene属性获取指定路由对象的配置信息,从而改变场景的动画或者手势。(具体有哪些动画可参考:node_modules/react-native/Libraries/CustomComponents/Navigator/NavigatorSceneConfigs.js)

initialRoute:配置第一个页面,参数可自定义

 

 “。。。”这个语法是把 routes.params 里的每个key 作为props的一个属性:

 

子页返回的方法:

getCurrentRoutes() - 获取当前栈里的路由,也就是push进来,没有pop掉的那些
jumpBack() - 跳回之前的路由,当然前提是保留现在的,还可以再跳回来,会给你保留原样。
jumpForward() - 上一个方法不是调到之前的路由了么,用这个跳回来就好了
jumpTo(route) - Transition to an existing scene without unmounting
push(route) - Navigate forward to a new scene, squashing any scenes that you could jumpForward to
pop() - Transition back and unmount the current scene
replace(route) - Replace the current scene with a new route
replaceAtIndex(route, index) - Replace a scene as specified by an index
replacePrevious(route) - Replace the previous scene
immediatelyResetRouteStack(routeStack) - Reset every scene with an array of routes
popToRoute(route) - Pop to a particular scene, as specified by its route. All scenes after it will be unmounted
popToTop() - Pop to the first scene in the stack, unmounting every other scene

 

免责声明:文章转载自《React Native组件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Linq to Objects for Java 发布 1.0.1 版本linux中常见的脚本工具下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

最全前端资源汇集(引)

综合类地址 前端知识体系http://www.cnblogs.com/sb1987... 前端知识结构https://github.com/JacksonTia... Web前端开发大系概览https://github.com/unruledboy... Web前端开发大系概览-中文版http://www.cnblogs.com/unrule... Web...

使用npx创建react+typescript项目

1. 创建ts项目 npx create-react-app xxx --template typescript 2. 配置prettier vscode 安装插件 右键选项 选择prettier 3. 配置环境变量 根目录下新建下图文件 生产环境文件:.env 测试环境文件:.env.development 注意:环境变量需要以REACT_APP_...

为什么react的组件要super(props)

  对这个问题纠结了好几天,一直没时间深入研究。在segmentfault看到有人提出了同样的问题,下面这篇SF给出了解释。为什么react的组件要super(props) 解释一:  调用super的原因:在ES6中,在子类的constructor中必须先调用super才能引用this super(props)的目的:在constructor中可以使用...

vite支持optionalChaining可选链判断运算符和nullishCoalescingOperator

装置 babel 可选链判断运算符,空值合并运算符 兼容依赖 yarn add @babel/plugin-proposal-optional-chaining --dev yarn add @babel/plugin-proposal-nullish-coalescing-operator -dev react中: vite.config.ts增加...

React和Jquery比较

Jquery的工作方式: 假如你需要给一个按扭添加一个点击事件。 首先根据CSS规则找到对应的dom元素,挂上一个匿名事件处理函数,在事件处理函数中,选中那个需要被修改的DOM元素,读取他的文本值,加以修改,然后修改这个dom元素。 优点:直观易懂。缺点:对于庞大的项目,会造成代码结构复杂,难以维护。 React的工作理念:   打一个比方, Rea...

swiper 绑定点击事件 点击失效处理

1、 问题:react使用swiper3插件实现banner轮播,其中有个banner图有个click点击事件,而其他的是页面跳转。出现了一个问题: 就是向右滑动到该帧时的swiper,点击时未触发react的onClick方法。 参考文章地址:https://www.cnblogs.com/wuhairui/p/9343846.html 错误示范 组件初...