title: dispatch thunk return to component
body: <p>I'm trying to pass the response of a dispatched function back to my component code. I get an signed request from my backend then upload the file from my component.</p>
  
  <p>my component code here get's an S3 signature from my backend to upload a file</p>
  
  <pre><code>handleSubmitClick = async () =&gt; {
          if (this.state.name){
              let newFile = {
          filename: this.state.name,
          filetype: this.state.media.type,
              }
              this.props.signS3(newFile.filename, newFile.filetype)
                  .then( res =&gt; console.log('NO RESPONSE', res))
  
              this.handleCloseClick();
  
          } else {
              this.setState({ inputError: true });
          }
    }
  </code></pre>
  
  <p>i get signS3 from mapdispatchtoprops</p>
  
  <pre><code>const mapDispatchToProps = dispatch =&gt; {
    return {
          handleCancelClick() {
              dispatch(openAttachAssetModal(false));
          },
          signS3(filename, filetype) {
              dispatch(signS3(filename, filetype));
          }
    }
  }
  </code></pre>
  
  <p>It runs my mutation</p>
  
  <pre><code>export function signS3(filename, filetype) {
    return function thunk(dispatch) {
      const client = ApolloClient();
      return client.mutate({
        variables: { filename, filetype },
        mutation: gql`
          mutation signS3($filename: String!, $filetype: String!){
            signS3(input: {
              filename: $filename
              filetype: $filetype
            }) {
              signedRequest
              url
            }
          }
        `
      })
      .then(response =&gt; {
          return response
      })
    }
  }
  </code></pre>
  
  <p>except I don't get a response returned...</p>