如何在反应中将输入数据传递给另一个组件

石榴石fb0303

这就是我想做的

如果我按下 App.tsx 上的编辑按钮,我想在 AddToto.tsx 的输入文本中显示数据。

如果您能告诉我使用什么方法,我将不胜感激。

这是 App.tsx

    const App: React.FC = (props) => {
      const [todos, setTodos] = useState<Todo[]>([]);
      const [users, setUsers] = React.useState([] as Voca[]);
   
    
      const editData = (id: number) => {
        const item = users.find((user) => user.id === id);
        console.log(item.word);
      };
    
      return (
        <div className="App">
          <h1>add word</h1>
          <NewTodo onAddTodo={todoAddHandler} />
          <hr />
          <h1>edit word</h1>
          <AddTodo />
          <hr />
          <table>

            {users.map((user, index) => (
              <tr key={index}>
                <td>{user.word}</td>
                <td>{user.meaning}</td>
                <td>{user.enrollmentDate}</td>
                <td>{user.editDate}</td>
                <td className="opration">
                  <button onClick={() => removeData(user.id)}>delete</button>
                </td>
                <td>
                  <button
                    className="btn btn-warning"
                    onClick={() => {
                      editData(user.id);
                    }}
                  >
                    edit
                  </button>{" "}
                </td>
              </tr>
            ))}
          </table>
        </div>
      );
    };

export default App;

这是 AddTodo.tsx

class AddTodo extends Component {
  render() {
    return (
      <form>
        <div className="form-control">
          <label htmlFor="word">word:</label>
          <input type="text" id="word" />
          <br />
          <label htmlFor="todo-meaning">meaning:</label>
          <input type="text" id="todo-meaning" />
        </div>
        <button type="submit">save</button>
      </form>
    );
  }
}

export default AddTodo;

在这种情况下,我不知道如何将数据传递给另一个组件......

某些表演

在 中editData,一旦找到该项目,就将作为道具传递给的 state 设置为AddTodo

const [userBeingEdited, setUserBeingEdited] = useState<Voca | null>(null);
const editData = (id: number) => {
    setUserBeingEdited(users.find((user) => user.id === id));
};
return (
    // ...
    <AddTodo userBeingEdited={userBeingEdited} />
// AddTodo.tsx
export default ({
    userBeingEdited,
}: {
    userBeingEdited: Voca | null,
}) => (
    <form>
        <div className='form-control'>
            <label htmlFor='word'>word:</label>
            <input type='text' id='word' defaultValue={userBeingEdited?.word} />
            <br />
            <label htmlFor='todo-meaning'>meaning:</label>
            <input type='text' id='todo-meaning' defaultValue={userBeingEdited?.meaning} />
        </div>
        <button type='submit'>save</button>
    </form>
);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将数据传递给组件到另一个组件

React Native - 如何将数据传递给作为另一个组件内部属性的组件

如何在反应中将布尔值从一个组件传递到另一个组件?

如何在React中将函数传递给另一个组件

反应将数据传递到另一个组件

将数据传递给另一个组件不起作用

将数据传递给另一个组件

React 将获取的数据传递给另一个组件

如何将函数作为数据传递给角度中的另一个模块组件?

如何在 React 中将静态数据从一个组件传递到另一个组件?

如何在 Angular 5 中将服务数据从一个组件传递到另一个组件

如何在ts文件中将数据从一个组件传递到另一个组件?

如何在 Vue 中将产品数据从一个组件传递到另一个组件?

如何从API中获取数据,然后在完全加载后将其传递给另一个组件以进行反应?

如何动态地将数据传递给另一个模型?

如何将 useState 数据传递给另一个 .tsx 文件?

如何从另一个程序运行一个程序,并通过stdin在c或c ++中将数据传递给它?

在表单提交时导航到另一个组件并将数据传递给导航组件 react Js

如何在 React 中将数据从单击的组件从一个路由传递到另一个路由?

如何将函数传递给另一个反应组件?

每次点击如何将反应钩子状态传递给另一个组件

反应如何将一个组件及其道具传递给另一个组件

如何在python中将一个函数传递给另一个函数

在本机反应中将条形码数据传递到另一个屏幕

如何在反应中将映射数据作为道具发送到另一个组件

在Angular中使用`ComponentFactoryResolver`时无法将数据传递给另一个组件

如何在java netbeans中将Jtable数据传递到一个框架到另一个框架

如何将表单输入字段传递给 React 中的另一个组件?

如何将常量变量从一个组件传递给另一个反应