数组上的映射返回[object object]
Mapping over array returns [object Object]
我有一个Keypad
组件,每次按下按钮,它都应该将该按钮的值添加到数组中:
var keys = this.props.keys.map(function(k, index){
return (
<tr className="button-row" key={index}>
<td>
<button
className="keypad-buttons"
onClick={self.props.number.bind(null, k.k)}
>{k.k}</button>
</td>
</tr>
)
})
在我的主App
组件中,我有一种将Keypad
输入的数字相加的方法,这样我就可以映射到它们上,并在的textArea
中显示它们我的Screen
组件。以下是App
:的相关部分
getInitialState: function(){
return {numbers: []}
},
addNumber: function(num){
var number = [
{
n: num
}
]
this.setState({
numbers: this.state.numbers.concat(number)
})
},
在Screen
组件中,我试图映射从App
接收到的道具,如下所示:
var pinNumbers = this.props.pin.map(function(num, index){
return (
<span key={index}>{num.n}</span>
)
}).join(' ')
然后通过执行value={pinNumbers}
将其显示在textArea
中。因此,如果我在键盘上键入1 2 3,它应该映射到对象阵列上,并在我的Screen
组件的textArea
中显示这些值中的每一个(123);相反,它显示[object object],我不知道为什么。下面是一个演示:http://codepen.io/p-adams/pen/PzZWJJ
问题出在这个代码中
var pinNumbers = this.props.pin.map(function(num, index){
return (
<span key={index}>{num.n}</span>
)
}).join(' ');
它包含JSX。让我们对JSX进行降级,看看这个片段中实际发生了什么。
<span key={index}>{num.n}</span>
将被传送到
React.createElement(
"span",
{ key: index },
num.n
);
巴别尔。您可以在在线Babel REPL中验证这一点。
因此,您有一个React元素数组,将其转换为字符串(接收明显的[Object object]
)并用空格连接。
实际上,您尝试添加跨度是没有意义的,因为您不能将HTML格式嵌入到文本区域中。这件作品适合我
var pinNumbers = this.props.pin.map(function(num, index){
return num.n;
}).join(' ');
相关文章:
- 为什么我得到的是返回的[object HTML ParagraphElement]而不是我的号码
- javascript对象显示为null,但object.properties返回数据
- 将ActiveXObject返回值转换为JQuery Object以处理XML
- 在 Reactjs 中返回 [Object object] 而不是 Dom 字符串
- 为什么jQuery.cookie插件返回“[object object]”
- 控制台返回[Object-Object]而不是对象成员
- 当chrome检查器为jQuery变量返回[object object]时,如何返回实际数据
- Object.defineProperty获取集返回错误的值
- 使用javascript时返回[object HTMLDivElement]
- 为什么lodash中的_.pick(object,_.identity)返回空object
- jQuery的返回值是Array,但构造函数是Object.如何
- 'canvas.getContext('2d')' 返回 'Object'
- Javascript object.id 元素数组中返回“undefined”
- Object.keys(obj).length 返回字符总和而不是记录总数
- 给定一个对象数组,创建一个函数,该函数返回一个 Object,该 Object 具有按类型分组的路径数组
- JSON字符串仍然返回JS中的[object object]
- 使用 Object.asassign 正确返回嵌套状态
- jQuery AJAX 调用返回 [object Object]
- 从Object返回唯一键列表的正确方法
- JSON在控制台日志中作为[object object]返回