Javascript 打印出';[对象对象]';

Javascript 打印出';[对象对象]';,javascript,reactjs,Javascript,Reactjs,我有我的元素: dangerouslySetInnerHTML: { __html: this.props.html.map(React.renderToStaticMarkup).join('') } this.props.html是一个React元素数组(由该方法构建): makeOutput(模型){ 返回; } 当我在断点中运行上面的代码时,我确实得到: > this.props.html.map(React.renderToStaticMarkup).join('') >

我有我的元素:

dangerouslySetInnerHTML: { __html: this.props.html.map(React.renderToStaticMarkup).join('') }
this.props.html
是一个React元素数组(由该方法构建):

makeOutput(模型){
返回;
}
当我在断点中运行上面的代码时,我确实得到:

> this.props.html.map(React.renderToStaticMarkup).join('')
> "<span>b</span>"
>this.props.html.map(React.renderToStaticMarkup.join(“”)
>“b”
但是,当元素输出到DOM时,只显示
[object]
。有什么原因吗?

表明该技术工作正常:

function makeOutput(text) {
  return <Wrapper text={text} />;
}

var Wrapper = React.createClass({
  render() {
    return <div>Wrapping: {this.props.text}</div>
  }
});

var App = React.createClass({
  render() {
    var items = [
      makeOutput("one"),
      makeOutput("two"),
      makeOutput("three")
    ];
    return (
      <div dangerouslySetInnerHTML={{__html: items.map(React.renderToStaticMarkup).join("") }} />
    );
  }
});

React.render(<App />, document.getElementById("container"));
函数makeOutput(文本){
返回;
}
var Wrapper=React.createClass({
render(){
返回包装:{this.props.text}
}
});
var App=React.createClass({
render(){
可变项目=[
生成输出(“一”),
makeOutput(“两个”),
makeOutput(“三”)
];
返回(
);
}
});
React.render(,document.getElementById(“容器”);

问题一定出在一些您尚未透露的代码中。

您能提供一个完整的示例吗?我遇到了同样的问题。对我来说,这是因为服务器端渲染器需要重新启动才能正常工作。一旦我这样做了,HTML就会在浏览器中按预期呈现。双大括号有区别吗<代码>{{{uuuuhtml…}}。在JSX中,外部卷曲是作为一个道具用于JS表达式;因为该值是一个对象文字,所以内部存在。他们不赞成在
React
对象上使用此方法,并将其添加到
ReactDOMServer
对象中。需要包括
react dom server.js
或要求
react dom/server
function makeOutput(text) {
  return <Wrapper text={text} />;
}

var Wrapper = React.createClass({
  render() {
    return <div>Wrapping: {this.props.text}</div>
  }
});

var App = React.createClass({
  render() {
    var items = [
      makeOutput("one"),
      makeOutput("two"),
      makeOutput("three")
    ];
    return (
      <div dangerouslySetInnerHTML={{__html: items.map(React.renderToStaticMarkup).join("") }} />
    );
  }
});

React.render(<App />, document.getElementById("container"));