反应从道具获取功能结果

时间:2018-09-05 20:24:19

标签: reactjs

我试图在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'}}/>
  );
 }
}

1 个答案:

答案 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} />;
  }
}