如何更改我的非输入标签的反应?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何更改我的非输入标签的反应?相关的知识,希望对你有一定的参考价值。

const [text,setText] = useState('Hello friend')

返回

<p>text</p>

我如何在光标和朋友之间放置光标并写点东西?它看起来应该像我在p或div标签中编写,而不是我在文本区域或输入中编写。

答案

使用contentEditable属性和useRef

import React,  useRef  from "react";

export default function App() 
  const text = useRef("Hello friend");

  const handleChange = e => 
    text.current = e.target.innerText
  ;

  return (
    <p contentEditable="true" onInput=handleChange>
      text.current
    </p>
  );

使用useState进行这项工作可能很困难。您可以使用<input>并设置其样式使其看起来像<p>吗?

p 
  border: 0;
  background: transparent;

以上是关于如何更改我的非输入标签的反应?的主要内容,如果未能解决你的问题,请参考以下文章

检查另一个输入时如何根据一个输入更改值?反应钩子

如何在反应中更改material-ui Textfield标签样式

反应数组的对象更改顺序的更改值

如何在反应中改变手风琴的高度?

反应输入值不会在按钮更改时重新呈现

反应本机文本输入,按下时更改光标位置