我有一个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
这样收到的props:
var pinNumbers = this.props.pin.map(function(num, index){
return (
<span key={index}>{num.n}</span>
)
}).join(' ')
然后textArea
通过执行value={pinNumbers}
. 因此,如果我在键盘上键入 1 2 3,它应该映射对象数组并在textArea
我的Screen
组件中显示每个值 (123) ;相反,它显示 [object Object] 而我不知道为什么。这是一个演示:http : //codepen.io/p-adams/pen/PzZWJJ