我正在做一个基本上是记事本的项目.我在更新<textarea>'当进行ajax调用时,s值.我试着设置textarea的value属性,但无法更改其值.如何在状态更改时使其如此文本区域的值更改并可编辑.

我的代码如下.

在家长班

<Editor name={this.state.fileData} />

在编辑课上

var Editor = React.createClass({
render: function() {
return (
    <form id="noter-save-form" method="POST">
    <textarea id="noter-text-area" name="textarea" value={this.props.name}></textarea>
    <input type="submit" value="Save" />
    </form>
);
}

});

我不能使用defaultValue,因为在页面加载时,textarea的值是未知的,当我try 在textarea之间放置数据时,什么都没有发生.我希望它在状态改变时获取状态值,但在两者之间可以编辑.

谢谢

Edit

我设法使用jQuery使其工作,但想在React中执行,我在render之前调用了:

$('#noter-text-area').val(this.props.name);

推荐答案

我想你想要的是:

起源:

<Editor name={this.state.fileData} />

编辑:

var Editor = React.createClass({
  displayName: 'Editor',
  propTypes: {
    name: React.PropTypes.string.isRequired
  },
  getInitialState: function() { 
    return {
      value: this.props.name
    };
  },
  handleChange: function(event) {
    this.setState({value: event.target.value});
  },
  render: function() {
    return (
      <form id="noter-save-form" method="POST">
        <textarea id="noter-text-area" name="textarea" value={this.state.value} onChange={this.handleChange} />
        <input type="submit" value="Save" />
      </form>
    );
  }
});

这基本上是https://facebook.github.io/react/docs/forms.html页提供的示例的直接副本

Update for React 16.8:

import React, { useState } from 'react';

const Editor = (props) => {
    const [value, setValue] = useState(props.name);

    const handleChange = (event) => {
        setValue(event.target.value);
    };

    return (
        <form id="noter-save-form" method="POST">
            <textarea id="noter-text-area" name="textarea" value={value} onChange={handleChange} />
            <input type="submit" value="Save" />
        </form>
    );
}

Editor.propTypes = {
    name: PropTypes.string.isRequired
};

Reactjs相关问答推荐

从`redux—thunk`导入thunk `在stackblitz中不起作用

如何通过浏览器路由在单独的.jsx文件中使用MUI抽屉?

如何通过回调函数获取多个值?

同一文件中前端和后端的Nginx配置

如何使用useState响应快速/顺序状态更新

使用 React + Vite 范围化 CSS

如何垂直对齐 React Bootstrap Table 行中的项目

从 MongoDB createAt 字段中分割精确时间

FabricJS反序列化问题

Redux 工具包不更新状态

是否可以直接在 jsx 标签上使用 CSS 定义的 colored颜色 ?

Material UI @mui/material/Button vs @material-ui/core/Button,它什么时候改变的,旧版本的文档在哪里

字段是必需的,当它没有定义时

如何在 Next Js 13 App Router 中添加 Favicon 图标?

如何到达类组件中的状态?

如何使用 React 更改 Material UI 中 ButtonGroup 的 colored颜色 ?

未捕获的类型错误:useSelector 不是函数

在 Formik 表单中访问子组件的值

如何使图标适合 react-bootstrap 中的行元素

如何在 react-router-dom v6 中实现监听功能?