Reactjs React Boostrap输入表单不提供任何值

Reactjs React Boostrap输入表单不提供任何值,reactjs,react-bootstrap,Reactjs,React Bootstrap,大家好,想用bootstap提供的表单制作一个表单,但它不起作用。 如果我插入值,它不允许我输入,没有值,我就无法得到值 我还有一个盖茨比主题 const StandAdd = () => { const [item, setItem] = useState({ title: "", kindof: "", website: "", image01: "", imag

大家好,想用bootstap提供的表单制作一个表单,但它不起作用。 如果我插入值,它不允许我输入,没有值,我就无法得到值

我还有一个盖茨比主题

const StandAdd = () => {
  const [item, setItem] = useState({
    title: "",
    kindof: "",
    website: "",
    image01: "",
    image02: "",
    image03: "",
  })

  const { title, kindof, website, image01, image02, image03 } = item

  const handleInputChange = event => {
    event.preventDefault()
    setItem({ ...item, [event.target.name]: event.target.value })
  }

  const handleSubmit = event => {
    event.preventDefault()
    alert(`${title} ${item} ${website}`) // always empty I gat get anything
  }

  return (
    <Layout>
<form onSubmit={handleSubmit}>
        <Form>
          <Form.Group controlId="title">
            {/* <Form.Label>Email address</Form.Label> */}
            <Form.Control
              value={titlet} // <-- this blocks the typing
              type="text"
              placeholder="Enter Stand's Name"
              onChange={handleInputChange}
            />
          </Form.Group>
  <Button variant="primary" type="submit">
            Submit
          </Button>
        </Form>
      </form>
    </Layout>
  )
}

export default StandAdd

有什么想法吗?

我认为您需要为组件提供名称属性。

问题在于:

<Form.Control
              value="title" // <-- this blocks the typing
              type="text"
              placeholder="Enter Stand's Name"
              onChange={handleInputChange}
            />
将在event.target.name中获取一些值

因此,在添加名称后,代码如下所示:

<Form.Control
              type="text"
              name="title"  <---- name added here 
              placeholder="Enter Stand's Name"
              onChange={handleInputChange}
            />

使用defaultValue提供初始值。

我没有任何硬编码。抱歉,这只是一个尝试,看看在提供name属性后,值是否与bootstrapAfter一起工作,在handleInputChange函数中放入一个日志,看看event.target.name是否有一些值。我将name={title}添加到From.Control中,并将event.target.name添加到handleInputChange中,但它不会更改。试试这个:name=titleyes!它起作用了!!谢谢你能用这个答案改变你的答案吗?
<Form.Control
              type="text"
              name="title"  <---- name added here 
              placeholder="Enter Stand's Name"
              onChange={handleInputChange}
            />
value="title"