proptypes

ReactNative: 使用列表组件ListView组件

无人久伴 提交于 2020-03-17 06:48:03
一、简介 在前面介绍过了FlatList列表组件用来展示大量的数据,ListView组件也是同样地功能。虽然ListView组件已经过时,但是作为新手还是有必要了解一下。它们的API差不太多,但是ListView组件使用起来确实要比FlatList列表组件复杂一下。ListView组件是一个垂直滚动列表组件,继承自ScrollView组件,拥有ScrollView组件的全部属性。该组件用简单的数据blob数组填充它,并使用该数据源和`renderRow`回调实例化一个`ListView`组件。 它从数据数组中获取一个Blob并返回可渲染组件。跟iOS中UITableView也非常类似。 二、API 该组件的属性如下: //数据源,必不可少,它是ListViewDataSource的实例 dataSource: PropTypes.instanceOf(ListViewDataSource).isRequired, //要渲染的分割线,是一个函数,返回一个节点元素 //函数示例:(sectionID, rowID, adjacentRowHighlighted) => renderable renderSeparator: PropTypes.func, //要渲染的每一行视图(cell),必不可少,通过函数返回一个节点元素 //函数示例:(rowData, sectionID,

React框架(六)PropTypes与DefaultProps

落爺英雄遲暮 提交于 2020-02-25 12:14:02
PropTypes 用于对父组件传递给子组件值类型的强校验 引入: import PropTypes from 'prop-types' 使用: TodoItem . propTypes = { // isRequired表示父组件必须要传递给子组件这个属性,否则报错:The prop `test` is marked as required in `TodoItem`, but its value is `undefined`. test : PropTypes . string . isRequired , con : PropTypes . oneOfType ( [ PropTypes . string , PropTypes . number ] ) , // con属性必须是PropTypes包(与上方引入的大小写对应)里面的number或者string类型 delItem : PropTypes . func , //若index强制为string类型,就会报错:Failed prop type: Invalid prop `index` of type `number` supplied to `TodoItem`, expected `string`. index : PropTypes . number } ; 更多校验参考官网: Typechecking

react PropTypes与 DefaultProps

孤街醉人 提交于 2020-01-25 03:42:33
参考链接 https://reactjs.org/docs/typechecking-with-proptypes.html 引入 PropTypes from ‘prop-types’ 组件传值 类型 校验 childConponent.propTypes = { count: PropTypes.oneOfType([PropTypes.string,PropTypes.number]) // count 可以是字符串 或 数字 content : PropTypes.string, list:PropTypes.func, test:PropTypes.string.isRequired // test 是字符串 且必传 } 组件传值 类型 定义默认值 childConponent.defaultTypes = { test: '大师兄' // 如果父组件没传 test 默认 值为 大师兄 } 来源: CSDN 作者: 大狮兄x 链接: https://blog.csdn.net/Cris_are/article/details/103928768

2019/12/30页面没有刷新???

本小妞迷上赌 提交于 2020-01-19 08:47:42
< ! DOCTYPE html > < html lang = "en" > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width, initial-scale=1.0" > < meta http - equiv = "X-UA-Compatible" content = "ie=edge" > < title > Document < / title > < / head > < body > < div id = "example1" > < / div > < script type = "text/javascript" src = "../js/react.development.js" > < / script > < script type = "text/javascript" src = "../js/react-dom.development.js" > < / script > < script type = "text/javascript" src = "../js/babel.min.js" > < / script > < script type = "text/javascript" src = "../js/prop

ReactNative: 使用进度条组件ProgressViewIOS组件

删除回忆录丶 提交于 2020-01-07 15:28:58
一、简介 进度条显示在应用中很常用的一个功能,合理地使用好它能更好地提高产品的用户体验。进度条被运用的场景常见的有页面加载进度、数据下载进度、上传数据的进度等等。在ReactNative中提供了ProgressViewIOS组件来显示矩形进度条,该组件只能使用在iOS平台上,不能跨平台。 二、API ProgressViewIOS组件提供的API比较简单,都是些常用的属性,示例如下: //进度条类型,有两种,分别是默认类型default 和 bar类型 //default显示进度条本身的颜色,bar不显示进度条本身的颜色 progressViewStyle: PropTypes.oneOf(['default', 'bar']), //进度条的值,从0到1 progress: PropTypes.number, //进度条本身的颜色 progressTintColor: PropTypes.string, //进度条轨道的色调颜色 trackTintColor: PropTypes.string, //给进度条本身设置可拉伸的图片 progressImage: Image.propTypes.source, //给进度条轨道设置可拉伸的图片 trackImage: Image.propTypes.source, 组件内部确定进度条的高度为2像素,如下所示: //默认高度 var

Ant Design Select 分页下拉允许搜索

可紊 提交于 2020-01-06 08:36:18
基于Ant Design Select组件 📙 项目地址 : 👉 GitHub地址: https://github.com/zlinggnilz/work-demo/blob/master/src/components/CustomSelect/index.js 👉 查看在线示例: https://codesandbox.io/s/funny-worker-lrhvt 📘 定制化组件 CustomSelect : 不传入children,通过dataSource传入数组遍历出option,数组元素包含key 和 label 组件 CustomSelect 代码: import React from "react"; import { Select } from "antd"; import PropTypes from "prop-types"; const { Option } = Select; export default class CustomSelect extends React.Component { static propTypes = { dataSource: PropTypes.arrayOf( PropTypes.shape({ key: PropTypes.oneOfType([PropTypes.string, PropTypes.number])

动手实现 React-redux(五):Provider

流过昼夜 提交于 2019-12-27 06:23:10
我们要把 context 相关的代码从所有业务组件中清除出去,现在的代码里面还有一个地方是被污染的。那就是 src/index.js 里面的 Index : ... class Index extends Component { static childContextTypes = { store: PropTypes.object } getChildContext () { return { store } } render () { return ( <div> <Header /> <Content /> </div> ) } } ... 其实它要用 context 就是因为要把 store 存放到里面,好让子组件 connect 的时候能够取到 store 。我们可以额外构建一个组件来做这种脏活,然后让这个组件成为组件树的根节点,那么它的子组件都可以获取到 context 了。 我们把这个组件叫 Provider ,因为它提供(provide)了 store : 在 src/react-redux.js 新增代码: export class Provider extends Component { static propTypes = { store: PropTypes.object, children: PropTypes.any } static

属性默认值 和 类型检查

喜欢而已 提交于 2019-12-05 12:07:01
属性默认值 通过一个静态属性 defaultProps 告知react属性默认值 属性类型检查 使用库: prop-types 对组件使用静态属性 propTypes 告知react如何检查属性 PropTypes.any://任意类型 PropTypes.array://数组类型 PropTypes.bool://布尔类型 PropTypes.func://函数类型 PropTypes.number://数字类型 PropTypes.object://对象类型 PropTypes.string://字符串类型 PropTypes.symbol://符号类型 PropTypes.node://任何可以被渲染的内容,字符串、数字、React元素 PropTypes.element://react元素 PropTypes.elementType://react元素类型 PropTypes.instanceOf(构造函数)://必须是指定构造函数的实例 PropTypes.oneOf([xxx, xxx])://枚举 PropTypes.oneOfType([xxx, xxx]); //属性类型必须是数组中的其中一个 PropTypes.arrayOf(PropTypes.XXX)://必须是某一类型组成的数组 PropTypes.objectOf(PropTypes.XXX):/

ES6 code styles best practices

匿名 (未验证) 提交于 2019-12-03 00:50:01
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试): 问题: Recently I've started to learn ReactJS and consequently - ES6. I'm quite familiar with ES5, but some things are not that clear for me. Example 1: Methods syntax What is the difference between the following two methods? export class InvoiceForm extends React.Component { methodName1() { } methodName2 = () => { }; } Example 2: Class properties outside class Greeting extends React.Component { render() { return ( <h1>Hello, {this.props.name}</h1> ); } } Greeting.propTypes = { name: PropTypes.string }; propTypes is outside the class. But why? I

单选按钮(CheckBox)

匿名 (未验证) 提交于 2019-12-02 23:56:01
import React , { useState , useEffect } from 'react' import PropTypes from 'prop-types' import _ from 'lodash' import classnames from 'classnames' import './index.less' function CheckBox ( props ) { const { style , checked : propsChecked , content , onChange , theme , } = props const wrapperStyle = _ . assign ({}, style ) const [ checked , setChecked ] = useState ( propsChecked === true ) useEffect (() => { setChecked ( propsChecked ) }, [ propsChecked ]) return ( < div className ={ classnames ({ 'single-checkbox-component-wrap' : true , 'theme-dark' : theme === 'dark' , checked : checked ===