React 问答

2019-03-28  本文已影响0人  xingkong_s

React 父子组件之间如何通信。

参考答案
父组件要传数据给子组件很简单,直接放在 props 里即可
子组件要传递数据给父组件就复杂点:
父组件将一个函数 fn 作为子组件的 props 传给子组件
子组件在恰当的时候调用这个 fn,并且把数据放在 fn 的参数里


React 任意组件之间如何通信。

参考答案


React 的创举

虚拟DOM


什么时候用函数什么时候用class


子组件怎么通知外界 (父子通信)

你只能通过回调的形式 调用别人给你传的参数
父元素传一个函数给子元素
子元素在恰当的时候调用这个函数
调用的时候可以传参数


useEffect怎么使用

useEffect(()=>{
  依赖项发生变化执行回调
},[依赖项,依赖项,依赖项]);

如果只想执行一次 第二个参数 []

useState怎么使用

变量 使用 useState 定义 和 改变

const[x,setX] = useState(初始值)

通过第二个参数 setX 来 改变 x 的值
使用setX 来改变x值时, setX所在的 函数会重新执行

useRef怎么使用

跨组件的状态管理 使用 useRef

const xxx = useRef(初始值)
xxx.current = ...

Fragment

reutrn(
  <Fragment>
      <div><div> 
  </Fragment>
)

React.forwardRef

接受渲染函数作为参数。React 将使用 props 和 ref 作为参数来调用此函数。此函数应返回 React 节点

const FancyButton = React.forwardRef((props, ref) => (
  <button ref={ref} className="FancyButton">
    {props.children}
  </button>
));
const ref = React.createRef();
<FancyButton ref={ref}>Click me!</FancyButton>;

会创建一个React组件,这个组件能够将其 参数ref 转发到其组件树下的另一个组件中

cloneElement()

React.cloneElement(
  element,
  [props],
  [...children]
)
上一篇 下一篇

猜你喜欢

热点阅读