Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 组件的触发器属性_Reactjs_React Native - Fatal编程技术网

Reactjs 组件的触发器属性

Reactjs 组件的触发器属性,reactjs,react-native,Reactjs,React Native,我试过触发参考,呼叫,正确的术语?来自react native photo view API的此组件属性的onScale: <PhotoView source={{ uri: }} onLoad={() => console.log('onLoad called')} onTap={(event) => console.log(`onTap called: ${event.nativeEvent.x}${event.nativeEvent.y}

我试过触发参考,呼叫,正确的术语?来自react native photo view API的此组件属性的onScale:

<PhotoView
    source={{ uri:  }}
    onLoad={() => console.log('onLoad called')}
    onTap={(event) =>
    console.log(`onTap called: ${event.nativeEvent.x}${event.nativeEvent.y}`)}
    onScale={() => console.log('onScale called')}
    minimumZoomScale={1}
    maximumZoomScale={3}
    scale={0.5}
    resizeMode={'contain'}
    androidScaleType={'fitXY'}
    style={styles.photo}
/>

我如何从一个实例中触发这个onScale={}属性,以使用比例因子进行缩放?任何直接的代码示例或指向技术/方法的指针都将不胜感激

如果希望onScale处理程序和按钮的onClick处理程序启动相同的函数,则可以将函数绑定到包含的组件,然后将函数的引用分别传递给按钮和PhotoView

class YourComponent extends Component {
  constructor(props){
    super(props);
    this.someFunction = this.someFunction.bind(this);
  }

  someFunction() {
    console.log('Inside some Function.);
  }

  render() {
    return(
     <div>
       <PhotoView onScale={this.someFunction} />
       <Button onClick={this.someFunction} />
     </div>
    );
  }
}

如果onScale是PhotoView组件的一种方法,则可以设置一个引用来调用它:

handleOnClick = () => this.photoView.onScale()
//just use the handleOnClick wherever you want your click and it will call onScale also

   <PhotoView
        source={{ uri:  }}
        onLoad={() => console.log('onLoad called')}
        onTap={(event) =>
        console.log(`onTap called: ${event.nativeEvent.x}${event.nativeEvent.y}`)}
        **ref={(photoView) => this.photoView = photoView}**
        minimumZoomScale={1}
        maximumZoomScale={3}
        scale={0.5}
        resizeMode={'contain'}
        androidScaleType={'fitXY'}
        style={styles.photo}
    />

我的问题可能有点不清楚,组件不是我的,我编辑了我的问题。他们设置它的方式是,当某个东西缩放时,它将调用onScale回调函数…不确定为什么要单击按钮“触发它”。如果你解释更多你想要完成的事情,也许我们可以提供更多的帮助,但是上面的答案也是另一种选择——让它们触发相同的功能。哦,对了,我实际上没有明白!谢谢你为我指出这一点!np,如果您试图更改按钮单击时的比例,则应为比例属性使用状态变量,并让按钮单击更改该值。