react-statements

小巧可嵌套的 React 语句控制组件
授权协议 MIT
开发语言 JavaScript
所属分类 Web应用开发、 常用JavaScript包
软件类型 开源软件
地区 国产
投 递 者 郏兴贤
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

react-statements是一个很小的React语句控制组件,更漂亮的条件渲染方法。

安装

npm i --save react-statements
yarn add react-statements

栗子

import { If } from 'react-statements'class Example extends React.Component {
  constructor(props) {
    super(props);    this.state = {logic: true};
  }
  render() {    return (      <div>
        <If when={this.state.logic}>
          <p>我是一些组件内容</p>
        </If>
      </div>
    );
  }
}

文档说明

If 组件

If组件可以使用一个when属性来控制组件是否渲染

<If when={condition}>
  <p>when在转为bool为true的条件下显示这个组件</p>
</If>

<If when={condition} children={<p>使用方法同上,单标签方法中使用</p>} />

Switch 组件

Switch组件可以根据指定的值渲染不同的组件

Switch组件内部使用Case组件对不同的值进行判断

Switch组件内部同时可以使用Default来设置一个默认显示组件

<Switch value={value}>
  <Case when={condition}>
    <p>condition 1</p>
  </Case>
  <Case when={condition}>
    <p>condition 2</p>
  </Case>
  <Case when='c' children={<p>condition 3</p>}/>
  <Default children={<p>默认组件</p>}/>
</Switch>

For

For组件可以对ArrayObject遍历生成一组组件

For组件内部也可以使用Default来显示默认组件

<For of={['a', 'b', 'c']}>
  {(item, index) => (<p key={index}>{index}:{item}</p>)}  <Default>默认组件</Default></For>
  • 一、为什么如此难受? 在我们去写 JSX 的时候,有时候一直在感叹为什么在 JSX 里面写不了条件语句,举个栗子?(为什么都举我): render () { return ( <div> { if(true) { <span>渲染我</span>

  • 最近接手了一个简单的项目,需要修改一些逻辑,时间也比较充裕,正好适合我这个小白边学边做。其中涉及了一些知识点,包括redux和router。所以今天先开始学习阮一峰大神的react router教程 看完这篇文章之后才知道react-router v4和v3有很大区别。在v4里面主要引用react-router-dom获得组件。 一、基本用法: import { Router, Route, ha

  •   1.运行测试   Create React App使用Jest作为其测试运行器。为进行此集成做准备,我们对Jest进行了重大改进,因此,如果几年前您听到有关Jest的坏消息,请尝试一下。 Jest是基于Node的运行器。这意味着测试始终在Node环境中运行,而不是在实际的浏览器中运行。这使我们能够实现快速的迭代速度并防止松散。 虽然Jest提供了浏览器全局如window和jsdom,他们是只有

  • 一、基本用法 React Router 安装命令如下。 $ npm install -S react-router 使用时,路由器Router就是React的一个组件。 import { Router } from 'react-router'; render(<Router/>, document.getElementById('app')); Router组件本身只是一个容器,真正的路由

  • ReactRouter(V2)基础 1.路由 路由就是Router,这里的路由并不是我们在计算机网路中所学的路由的概念,而是前端的‘路由’,简单的来说就是通过URL的变化,使用路由来跳转到相对应的路径来显示不一样的页面,虽然只是这么一个小功能,但是它却是web应用中一个非常非常非常重要的一步。一个只会写页面的前端工程师不是工程师,顶多就是个工人,工程师的目标就是去架构,去优化,去理解,去运用。所以

  • 真正学会 React 是一个漫长的过程。 你会发现,它不是一个库,也不是一个框架,而是一个庞大的体系。想要发挥它的威力,整个技术栈都要配合它改造。你要学习一整套解决方案,从后端到前端,都是全新的做法。 举例来说,React 不使用 HTML,而使用 JSX 。它打算抛弃 DOM,要求开发者不要使用任何 DOM 方法。它甚至还抛弃了 SQL ,自己发明了一套查询语言 GraphQL 。当然,这些你都

  • node安装: sudo apt install nodejs 数据类型: 1.Number(数字) 2.String(字符串) 3.Boolean(布尔) 4.Symbol(符号) 5.Object(对象) Function(函数) Array(数组) Date(日期) RegExp(正则表达式) 6.null(空) 7.undefined(未定义) JavaScript 还有一种内置的 Er

  • react-router是一个基于react的路由库,它可以让你向应用中快速的添加视图和数据流,同时保持页面与URL之间的同步。 路由配置 1. 不使用React-Router的情形 import React from 'react' import {render} from 'react-dom' const About = React.createClass({...}) const Inb

 相关资料
  • 在Objective-C编程中nest if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { /* Executes when the boolean expression 1 is true */ if(bool

  • 在Pascal编程中嵌套if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 Pascal允许嵌套到任何级别,但是,如果依赖于特定系统上的Pascal实现。 语法 (Syntax) 嵌套if语句的语法如下 - if( boolean_expression 1) then if(boolean_expression 2)then S1 e

  • 在Swift 4中嵌套if-else语句总是合法的,这意味着你可以使用一个if else if else if语句。 语法 (Syntax) nested if语句的语法如下 - if boolean_expression_1 { /* Executes when the boolean expression 1 is true */ if boolean_expression_2 {

  • 另一个If或ElseIf语句中的If或ElseIf语句。 内部If语句基于最外面的If语句执行。 这使VBScript可以轻松处理复杂的条件。 语法 (Syntax) 以下是VBScript中Nested If语句的语法。 If(boolean_expression) Then Statement 1 ..... ..... Statement n If(boolea

  • 在条件解析为true后,您可能希望检查其他条件。 在这种情况下,您可以使用嵌套的if结构。 在嵌套的if结构中,你可以在另一个if...elif...else构造中使用if...elif...else构造。 语法 (Syntax) 嵌套if...elif...else结构的语法可能是 - if expression1: statement(s) if expression2:

  • nest if-else语句总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { // Executes when the boolean expression 1 is true if(boolean_expression 2)

  • nest if-else语句在C编程中总是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { /* Executes when the boolean expression 1 is true */ if(boolean_expres

  • nest if-else语句在C#中始终是合法的,这意味着你可以在另一个if或else if语句中使用if或else if语句。 语法 (Syntax) nested if语句的语法如下 - if( boolean_expression 1) { /* Executes when the boolean expression 1 is true */ if(boolean_expres