react模式 (下)

**需要注意的是react文档中我们大部分使用的仍然是基础功能,而他还有很多的高级功能,在理解并实践这些高级功能后 我们就开启下部分的react模式学习**

### 子组件的传递 (Children pass-through)
你可能会创建一个组件,这个组件会使用 context 并且渲染它的子元素。
```jsx
class SomeContextProvider extends React.Component {
  getChildContext() {
    return { some: "context" };
  }

  render() {
    // 如果能直接返回 `children` 就完美了
  }
}
```
你将面临一个选择。把 children 包在一个 div 中并返回,或者直接返回 children。第一种情况需要要你添加额外的标记(这可能会影响到你的样式)。第二种将产生一个没什么用处的错误。
```jsx
// option 1: extra div
return

{children}
;

// option 2: unhelpful errors
return children;
```
最好把 children 做为一种不透明的数据类型对待。React 提供了 React.Children 方法来处理 children。
```
return React.Children.only(this.props.children);
```
个人: ?

### 代理组件 (Proxy component)
(我并不确定这个名字的准确叫法 译:代理、中介、装饰?)

按钮在 web 应用中随处可见。并且所有的按钮都需要一个 type="button" 的属性。


//
```


### 样式组件 (Style component)
这也是一种 代理组件,用来处理样式。
假如我们有一个按钮,它使用了「primary」做为样式类。
'
```
使用这些组件,下面的这几种方式会得到一致的结果。
```jsx


你可能感兴趣的:(前端)