html标签在jsx制作的标签内不起作用

时间:2016-09-06 08:51:52

标签: reactjs keystonejs

我在keystone.js项目中使用了包express-react-views,因此我静态生成了我的观点。但是,当放入我自己制作的自定义组件时,原生HTML标签似乎不起作用。

让我们说我有以下内容:

office.name = name
office.address = lorem ipsum
office.contactInfo.phone = 123
office.contactInfo.fax = 456

如果我渲染以下内容:

<Stub textPosition="right" title={"Office / " + office.name}>
    {office.address}
    <small>Tel: {office.contactInfo.phone}</small>
    <br />
    <small>Fax: {office.contactInfo.fax}</small>
</Stub>

它有点像这样:

NAME
lorem.ipsum
,[object Object],[object Object],[object Object]

在我看来,这三个标签成了对象。

我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

正如我在评论中所写,{office.contactInfo.fax}是对象,但现在只有一个文本字段。我不确定其他字段/属性是什么,但要在html中显示内容,您应该从该Fax对象中提取文本字段。 例如:

> fax = {'fax_home': '12345', 'fax_work': '6789'}
> Object {fax_home: "12345", fax_work: "6789"}
> typeof(fax)
> "object"
> fax['fax_home']
> "12345"

此外,您可以迭代对象中的键以提取您需要的内容。 (这在反应中也是可能的)。只是JS:

fax = {'fax_home': '12345', 'fax_work': '6789'}
Object.keys(fax).forEach(function (key) {
   console.log(fax[key]);
});