首页 > 解决方案 > 当我不接受构造函数的参数时,如何反应知道我何时向组件发送道具

问题描述

React 是如何知道 props 的,我正在向组件发送 props,并且我不接受构造函数的参数,而是 render() 方法访问 props。

import ReactDOM from 'react-dom';
import './index.css';

import App from './App';

import reportWebVitals from './reportWebVitals';
ReactDOM.render(
  <React.StrictMode>
    <App myApp={'myApp'}/>
  </React.StrictMode>,
  document.getElementById('root')
);
// this is app component
import React, {Component} from 'react';
class App extends Component {
  constructor() {
    super()
    this.state = {};
    console.log(this.props.myApp) // undefined
  }
  render() {
    console.log(this.props.myApp) // 'myApp' how and why, i'm not accepting arguments in contrutor why and how render method know this.props.myApp
  }
}
exports default App;
// this is my assumption what react doing
const obj = new App(props);

标签: javascriptreactjs

解决方案


你需要重建你的构造函数:

constructor(props) {
  super(props);
  console.log(this.props.myApp); // 'myApp'
}

更多信息在这里: 在 React 构造函数中调用 super() 有什么作用?


推荐阅读