如何获取React组件中文本的长度

Vla*_*iuk 1 javascript reactjs

我有React组件,其中有一些动态文本:

...
let spanLength

return(
  <SomeComp>
     ...
     <span>Some static text: {someDynamicText}, {someAnotherText}</span>
     ...
  </SomeComp>
)
Run Code Online (Sandbox Code Playgroud)

如何获取span元素内文本的长度作为spanLength变量?

And*_*ndy 6

为什么不首先组成整个字符串呢?您可以在之后立即获取其长度,然后进行渲染。

const spanStr = `Some static text: ${someDynamicText}, ${someAnotherText}`;
const spanLength = spanStr.length;

return(
  <SomeComp>
     ...
     <span>{spanStr}</span>
     ...
  </SomeComp>
)
Run Code Online (Sandbox Code Playgroud)


Anu*_*ava 5

您可以添加ref到您的span

let spanRef = React.createRef()
...
<span ref={spanRef}>Some static text: {someDynamicText}, {someAnotherText}</span>
Run Code Online (Sandbox Code Playgroud)

然后,文本长度将仅仅是 spanRef.current.textContent.length