我试图在Prop中定义一个函数,然后在租借时检查结果。但无法正常运作。
知道如何获得函数条件的结果吗?
组件
interface HeaderProps {
condition? (data: any) : string;
};
class Header extends React.Component<HeaderProps> {
render() {
// ERROR Expected 1 arguments, but got 0.
//if(this.props.condition() === 'No'){
//}
return (
<header className="header">
{<div>{msg}</div>}
</header>
);
} } `
和应用
class App extends React.Component<AppProps> {
render() {
return (
<Header condition = {(text)=>{ return 'No'}}/>
);
}
}
答案 0 :(得分:0)
在App中正确定义和绑定功能,然后您可以在子组件中使用as作为道具:
class Header extends React.Component<HeaderProps> {
render() {
// check and use the result.
// it requires parameters for function
if (this.props.condition() === "No") {
// do something
}
return <header className="header">{<div>{msg}</div>}</header>;
}
}
class App extends React.Component<AppProps> {
conditionFunction = () => {
// whatever
return 'No'
};
render() {
return <Header condition={this.conditionFunction} />;
}
}