# Sendbird react V3: TypeError: channel.sendUserMessage is not a function

**URL:** https://community.sendbird.com/t/sendbird-react-v3-typeerror-channel-sendusermessage-is-not-a-function/5833
**Category:** React
**Created:** [October 29, 2022, 4:58pm UTC](https://community.sendbird.com/t/sendbird-react-v3-typeerror-channel-sendusermessage-is-not-a-function/5833 "2022-10-29T16:58:21Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![Arpit\_Satyal](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/arpit_satyal/32/2019_2.png) [@Arpit\_Satyal](https://community.sendbird.com/u/Arpit_Satyal)
#### Post date: [October 29, 2022, 4:58pm UTC](https://community.sendbird.com/t/sendbird-react-v3-typeerror-channel-sendusermessage-is-not-a-function/5833/1 "2022-10-29T16:58:21Z")

</div>

I am getting this error when trying to use custom input and send message in v3. can anyone help?

```auto
import { EuiTextArea, EuiFilePicker, EuiButton } from '@elastic/eui'
import { useState } from 'react'
import sendbirdSelectors from '@sendbird/uikit-react/sendbirdSelectors'
import useSendbirdStateContext from '@sendbird/uikit-react/useSendbirdStateContext'
import { UserMessageCreateParams } from '@sendbird/chat/message'

const CustomizedMessageInput = props => {
  const [inputText, setInputText] = useState('')
  const [files, setFiles] = useState({})

  const globalStore = useSendbirdStateContext()
  const sdk = sendbirdSelectors.getSdk(globalStore)

  function handleFileChange(file) {
    console.log(file[0])
    setFiles(file[0])
  }
  const sendUserMessage = sendbirdSelectors.getSendUserMessage(globalStore)
  const params = {
    message: inputText,
  }

  return (
    <div className='flex'>
      <div className='flex-grow'>
        <EuiTextArea
          fullWidth
          value={inputText}
          onChange={e => setInputText(e.target.value)}
          placeholder='Placeholder text'
          aria-label='Use aria labels when no actual label is in use'
        />
        <EuiFilePicker
          multiple
          fullWidth
          onChange={files => handleFileChange(files)}
          initialPromptText='Select or drag and drop multiple files'
          display='default'
          aria-label='Use aria labels when no actual label is in use'
        />
      </div>
      <div className='flex items-center justify-center'>
        <EuiButton onClick={() => sendUserMessage(props.channel, params)}>
          Send
        </EuiButton>
      </div>
    </div>
  )
}

export default CustomizedMessageInput

```

---

<div class="post-metadata">

### Author: ![Anh\_Tr\_n](https://sea2.discourse-cdn.com/flex020/user_avatar/community.sendbird.com/anh_tr_n/32/3574_2.png) [@Anh\_Tr\_n](https://community.sendbird.com/u/Anh_Tr_n)
#### Post date: [February 12, 2023, 2:38pm UTC](https://community.sendbird.com/t/sendbird-react-v3-typeerror-channel-sendusermessage-is-not-a-function/5833/2 "2023-02-12T14:38:41Z")

</div>

I think you used the wrong because func getSendUserMessage has 2 parameters: channel: GroupChannel|OpenChannel, UserMessageCreateParams: UserMessageCreateParams  
I have an example.

 ![image](https://us1.discourse-cdn.com/flex020/uploads/sendbird/original/2X/a/a696c5c95b95c5d44a8bf188b93b0a6152831b9b.png)
