博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
React官方文档学习笔记(二)
阅读量:5984 次
发布时间:2019-06-20

本文共 1120 字,大约阅读时间需要 3 分钟。

深入 JSX

在运行时选择类型

错误

import React from 'react';import { PhotoStory, VideoStory } from './stories';const components = {  photo: PhotoStory,  video: VideoStory};function Story(props) {  // 错误!JSX 标签名不能为一个表达式。  return 
;}复制代码

正确:如果你的确想通过表达式来确定 React 元素的类型,请先将其赋值给大写开头的变量,不能是小写的!

import React from 'react';import { PhotoStory, VideoStory } from './stories';const components = {  photo: PhotoStory,  video: VideoStory};function Story(props) {  // 正确!JSX 标签名可以为大写开头的变量。  const SpecificStory = components[props.storyType];  return 
;}复制代码
扩展属性
function App1() {  return 
;}function App2() { const props = {firstName: 'Ben', lastName: 'Hector'}; return
;}复制代码

当你构建通用容器时,扩展属性会非常有用。然而,这样做也可能让很多不相关的属性,传递到不需要它们的组件中使代码变得混乱。我们建议你谨慎使用此语法。

Context

Context 设计目的是为共享那些被认为对于一个组件树而言是“全局”的数据,例如当前认证的用户、主题或首选语言。

Fragments

React 中一个常见模式是为一个组件返回多个元素。Fragments 可以让你聚合一个子元素列表,并且不在DOM中增加额外节点。

class Columns extends React.Component {  render() {    return (      <>        Hello        World          );  }}
Hello World
复制代码

Portals

高阶组件

具体而言,高阶组件就是一个函数,且该函数接受一个组件作为参数,并返回一个新的组件

转载地址:http://algox.baihongyu.com/

你可能感兴趣的文章
【Leetcode】6. ZigZag Conversion
查看>>
[笔记]effective backprop
查看>>
webpack 使用优化(一)
查看>>
分片上传与断点续传解决方案
查看>>
Docker和rkt快别争了,k8s才是容器生态的中心
查看>>
服务器时区问题
查看>>
《JavaScript 闯关记》之变量和数据类型
查看>>
Microsoft Office Communications Server 2007 R2 安装排错一例
查看>>
Powershell 修改Office365和AD账户
查看>>
Zabbix 神器——自动发现
查看>>
RHCE 学习笔记(27) grub 和开机排错
查看>>
java Maxnumber
查看>>
去掉android的屏幕上的title bar
查看>>
黄金分割的金苹果——浅谈apple设计中的黄金分割
查看>>
4.IT-解决方案-4-Cluster-Win2K3
查看>>
postfix运行环境配置文件汇总
查看>>
谈谈多线程编程
查看>>
Exchange 2003 升级 2010地址列表升级
查看>>
Android SDCard UnMounted 流程分析(三)
查看>>
提高Axure设计效率的10条建议 (转)
查看>>