如何从类外的fineuploader const回调访问我的react组件props?

问题描述 投票:0回答:2

react-fine-uploader完成上传文件并触发回调后,我正试图访问react组件的props。但是,上传器在组件外部,我似乎无法从回调函数访问组件的道具。

import React from 'react';
// other imports

const uploader = new FineUploaderTraditional({
  options: {
    request: {
      endpoint: '/upload',
    },
    callbacks: {
      onAllComplete: function(id, fileName, response) {
        console.log("Fineuploader: onAllComplete")
        // trying to access component props here
      }
    }
  }
 })
 
 class myReactComponent extends React.Component {

 }
 
 export default myReactComponent 
javascript reactjs fine-uploader
2个回答
0
投票

尝试将其放入组件中:

import React from 'react';
// other imports
class myReactComponent extends React.Component {
   constructor(props) {
      super(props);
      const uploader = new FineUploaderTraditional({
         options: {
            request: {
            endpoint: '/upload',
            },
            callbacks: {
               onAllComplete: function(id, fileName, response) {
               console.log("Fineuploader: onAllComplete")
               // you should be able to access props here
               }
            }
         }
      })
   }
 }

 export default myReactComponent

你也可以把它放在渲染而不是构造函数中:

class myReactComponent extends React.Component {
   render() {
      const uploader = new FineUploaderTraditional({
         options: {
            request: {
            endpoint: '/upload',
            },
            callbacks: {
               onAllComplete: function(id, fileName, response) {
               console.log("Fineuploader: onAllComplete")
               // you should be able to access this.props here
               }
            }
         }
      })
      ....
      return <>
    }
 }

0
投票

在做了一些挖掘后,我发现我可以使用以下命令在组件内注册一个回调处理程序:

    uploader.on('onAllComplete', (id, name, response) => {
      //
    })

所以const仍然在类之外,但我可以访问里面的回调。

© www.soinside.com 2019 - 2024. All rights reserved.