React-Materialize img url in create form?

Hey guys, I have a React project using materialize and I have a create component that looks like this:

import React from 'react'
import { Modal, Button } from 'react-materialize'

const ComposeArt = ({postArt}) => {
  const createArt= (ev) => {
    ev.preventDefault()
    let title = ev.target[0].value
    let year = ev.target[1].value
    let medium = ev.target[2].value
    let url = ev.target[3].value

    return postArt(title, year, medium, url)
  }
  return <div>
  <br />
    <Modal className="Modal"
    header='Create Art!'
    trigger={<Button className="waves-effect waves-red">Create Art</Button>}>
    <form onSubmit={createArt}>
      <label>Title</label>
      <input type="text" name="Title" />
      <label>Year</label>
      <input type="text" name="Year" />
      <label>Medium</label>
      <input type="text" name="Medium" />
      <label>Url</label>
      <input type="text" name="Url" />
      <Button className="waves-effect waves-red btn modal-close" name="submit">Add Art</Button>
    </form>
    </Modal>
  </div>
}

export default ComposeArt

With this in my app.js:

postArt = async (title, year, medium, url) => {
    const artBody = {
      title: title,
      year: year,
      medium: medium,
      poster: url
    }

    const response = await fetch(`${API}/chizetteart`, {
      method: "POST",
      mode: "cors",
      cache: "no-cache",
      credentials: "same-origin",
      headers: {
        "Accept": "application/JSON",
        "Content-Type": "application/json",
        "token": this.state.actualToken
      },
      body: JSON.stringify(artBody)
    })
    if (response.status !== 200) {
      alert(`Post Art: Invalid post`)
    } else {
      alert(`Art Created!`)
    }
    setTimeout(()=>this.getArtList(), 100)
  }

I can create a new post, but the url doesn’t work and goes right back to the placeholder kitten. I have tried type=“url” but that doesn’t fix anything. Any ideas?