我们可以在 React 的 Const 中设置样式吗

时间:2021-01-24 05:45:25

标签: javascript reactjs react-native

我是 React 新手,我可以在 const 内设置样式吗

这是我的代码

const initialStudentCounter =
    'Students' + ' ' +  JSON.stringify(studentCountInitial);

我需要为这个“JSON.stringify(studentCountInitial)”设置样式

我试过这种方法,但没有用

const initialStudentCounter =
    'Students' + ' ' +  <span style={color : 'red'}>JSON.stringify(studentCountInitial)</span> ;

有人可以帮我吗

3 个答案:

答案 0 :(得分:2)

在 JSX 中不需要 JSON.stringify。您确实需要将它与周围的元素一起插入到 JSX 中。您也不应该再需要 + 来连接字符串。

export default function App() {
  const studentCountInitial = 4;
  const initialStudentCounter = <div>Students <span style={{color : 'red'}}>{studentCountInitial}</span></div>;

  return (
    initialStudentCounter
  );
}

答案 1 :(得分:0)

在 React 中,你需要在给元素添加样式时使用双大括号(第一组括号告诉编译器这是 Javascript,第二组告诉编译器这是一个对象。)。另外,用字符串包围您的元素。

代码:

const initialStudentCounter =
    'Students' + ' ' + `<span style={{ color : 'red' }}>${JSON.stringify(studentCountInitial)}</span>`;

答案 2 :(得分:0)

这里至少有两个问题:

  • 您正在将一个字符串与一个 JSX 元素连接起来。
  • 您的 style 属性值缺少一对用于打开和关闭对象的花括号(第一对仅允许您使用 JS 语法)。
const initialStudentCounter = <p>Students <span style={{color : 'red'}}>{JSON.stringify(studentCountInitial)}</span></p>;

我还怀疑 studentCountInitial 只是一个普通数字,因此它可能不需要字符串化。所以你也许可以这样做......

const initialStudentCounter = <p>Students <span style={{color : 'red'}}>{studentCountInitial}</span></p>;

如果您确实需要将该 JSX 元素转换为字符串,则可以使用类似 ReactDOMServer.renderToStaticMarkup() 的内容,但这可能是不必要的。