Reactjs React道具中的过滤链接

Reactjs React道具中的过滤链接,reactjs,components,state,auth0,react-props,Reactjs,Components,State,Auth0,React Props,我有一个react类组件,它由一个表组成。该表有一个编辑和删除按钮,如果用户未登录,我希望禁用该按钮。我有一个isAuthenticated值,用于检查用户是否未登录,但我不确定如果用户未登录,如何使用变量有条件地禁用或不呈现编辑和删除按钮。您可以像这样传递isAuthenticated: render() { const { isAuthenticated } = this.props.auth0; //.... { this.exerciseList(isAuthenticate

我有一个react类组件,它由一个表组成。该表有一个编辑和删除按钮,如果用户未登录,我希望禁用该按钮。我有一个
isAuthenticated
值,用于检查用户是否未登录,但我不确定如果用户未登录,如何使用变量有条件地禁用或不呈现编辑和删除按钮。

您可以像这样传递
isAuthenticated

render() {
  const { isAuthenticated } = this.props.auth0;
  //....
  { this.exerciseList(isAuthenticated) }
} 

exerciseList(isAuthenticated) {
        return this.state.exercises.map(currentexercise => {
          return <Exercise exercise={currentexercise} deleteExercise={this.deleteExercise} key={currentexercise._id} isAuthenticated={isAuthenticated}/>;
        })
}

太棒了,在我这边试试,会让你不断更新的!我只是稍微修改了一下,如果三元数是假的,就使用空的
td
,一切都正常,非常感谢!我的一个问题是关于表头,我应该使用三元表达式来隐藏它吗?还是说这不是明智的有效操作?很高兴它对你有用。我看到你是新来的,所以请考虑接受/接受答案。你可以用三元函数来做任何你想做的事情——使用它没有“效率”的影响——它只是一个内联
if/else
的简写,当然可以,最后一个问题是,如果我想访问componentDidMount函数中的isAuthenticated值,我怎么做?我基本上只想得到与特定用户相关的练习(如果经过身份验证),否则其他用户的新闻提要(如果没有经过身份验证)
const Exercise = props => (

    <tr>
      <td>{props.exercise.username}</td>
      <td>{props.exercise.description}</td>
      <td>{props.exercise.duration}</td>
      <td>{props.exercise.date.substring(0,10)}</td>
      { props.isAuthenticated ?
        <td><Link to={"/edit/"+props.exercise._id}>edit</Link> | <a href="/#" onClick={() => { props.deleteExercise(props.exercise._id) }}>delete</a></td>
      : 
      <td></td>
      }
    </tr>
  )