猿问

为什么React props 的默认值会是 true ?

const App = ({todos, actions}) => (  <div>
    <Header addTodo={actions.addTodo} aaa/>
    <MainSection todos={todos} actions={actions} />
  </div>)

这是父组件,里面有个Header是自定义组件,其中有个自定义属性是aaa.

这个aaa是我随手写的,也未在其他地方声明过。

然后我在Header里面,console.logaaa,为啥是个true?

export default class Header extends Component {
  static propTypes = {
    addTodo: PropTypes.func.isRequired
  }

 

  render() {
    console.log(this.props)//值为Object {aaa: true}
    return (
      <header className="header">
        <h1>todos</h1>
        <TodoTextInput newTodo
                       
                       placeholder="What needs to be done?" />
      </header>
    )
  }
}


郎朗坤
浏览 933回答 1
1回答

饮歌长啸

在html5中,布尔属性可以缩写,你的写法相当于<Header&nbsp;addTodo={actions.addTodo}&nbsp;aaa={true}/>类似在表单中//&nbsp;普通写法<input&nbsp;type="checkbox"&nbsp;checked="checked">//&nbsp;html5写法<input&nbsp;type="checkbox"&nbsp;checked>
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答