React 中,将某一条字符串中的字符替换成组件,然后渲染显示出来,如何替换?

比如有一条字符串如 abcd{1}efadf,

有没有办法 将{1} 替换成一个组件,然后再把替换之后的结果渲染出来?

感谢!

阅读 8.4k
2 个回答

你可以这样,把字符串分割成数组,把对应的替换为React的组件,然后渲染:

import React from "react";
import ReactDOM from "react-dom";

import "./styles.css";

function App() {
  var str = "abcd{1}efadf";
  var segs = str
    .split(/[{}]/)
    .map(s => (s === "1" ? <div>This is a component</div> : s));
  return (
    <div className="App">
      <h1>Hello CodeSandbox</h1>
      <h2>Start editing to see some magic happen!</h2>
      <div>{segs}</div>
    </div>
  );
}

const rootElement = document.getElementById("root");
ReactDOM.render(<App />, rootElement);
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题