我无法将道具传递给另一个组件 此代码来自我的应用程序组件,它由onClick
触发 addServer() {
let serverArr = ['Server 1','Server 2'];
serverArr.push(this.state.serverName);
return (
<ServerList server={serverArr}/> // Here i am passing the array as prop
)
}
这里是我想要使用道具的组件代码,我试图显示传入的道具
export class ServerList extends React.Component {
render(){
let server = this.props.server.map((item, index) => {
return <li key={index}> {item} </li>;
})
return (
<div className="container-server">
<ul> {server} </ul>
</div>
)
}
}
答案 0 :(得分:0)
我不确定你的情况,但我的猜测是,因为你正在使用
改变数组array.push()
你应该致电
this.forceUpdate()
重新渲染组件的功能,所以试试这个
addServer() {
let serverArr = ['Server 1','Server 2'];
serverArr.push(this.state.serverName);
this.forceUpdate();
return (
<ServerList server={serverArr}/> // Here i am passing the array as prop
) }
答案 1 :(得分:-1)
If ( attempts > max attempts then attempt login )
{ "Sorry to many attempts"
else { Check login
if failed { Attempts++ } else (login success) { set attempts = 0 }
(reset attempts counter)}
}
行this.state.serverName
的价值是多少?在该行之前的Console.log serverArr.push
。
在this.state.serverName
行之后也是console.log serverArr
。
然后在serverArr.push
行之后的console.log server
。
您还应该在let server
行之前安装console.log this.props.server
。
进行这些检查时,您应该确定错误的位置。
最后,实际的错误是什么。是在控制台中写的东西,还是你看不到组件,或组件是奇怪的渲染?
编辑:
您应该在let sever
的{{1}}中有serverArr
,然后进行渲染。例如:
state