NativeMethodsMixin(原生底层)

NativeMethodsMixin提供了直接方位底层原生组件的方法,当你想要聚焦一个视图或测量它的屏幕尺寸时将非常有用。

这些方法在大部分 React Native 提供的默认的组件中都可以使用. 注, 它们不能在一些复合组件(并非直接由原生视图构成)中使用, 这可能包括你自己在应用中定义的绝大部分组件. 想了解更多信息,请查看Direct Manipulation.

方法

static measure (callback)

确定指定视图在屏幕上显示的位置和尺寸, 通过一个异步回调返回计算的结果. 如果成功, 调用此方法, 并带有以下参数:

  • x
  • y
  • width
  • height
  • pageX
  • pageY

注意,:这些信息直到原生渲染完成之前都不能使用. 如果你希望尽快获取视图的位置和尺寸信息, 考虑使用 onLayout 属性来替代.

static measureInWindow (callback)

确定给定的视图的位置, 并通过异步回调返回相应的值, 如果 React 的根视图是嵌入到另外一个原生视图中的, 这样会返回绝对坐标, 如成功会调用此函数:

  • x
  • y
  • width
  • height

注意,:这些信息直到原生渲染完成之前都不能使用.

static measureLayout (relativeToNativeNode, onSuccess, onFail)

和 measure() 函数类似, 不过计算的是相对指定祖先节点 relativeToNativeNode 的位置和尺寸.这意味着返回的x, y是相对于指定祖先视图的原始X,Y.

要找到一个组件的原生节点的ID, 可以调用 React.findNodeHandle(component).

static focus ()

请求聚焦指定的输入框或者视图, 具体的效果要取决于平台和视图的类型.

static blur ()

移除指定的输入框或者视图的焦点, 这和 focus() 相反.