Files
freeCodeCamp/guide/english/certifications/front-end-libraries/react/pass-a-callback-as-props/index.md
Randell Dawson 1494a50123 fix(guide): restructure curriculum guide articles (#36501)
* fix: restructure certifications guide articles
* fix: added 3 dashes line before prob expl
* fix: added 3 dashes line before hints
* fix: added 3 dashes line before solutions
2019-07-24 13:29:27 +05:30

1.5 KiB

title
title
Pass a Callback as Props

Pass a Callback as Props


Problem Explanation

  • Add the GetInput component to the render method in MyApp, then pass it a prop called input assigned to inputValue from MyApp's state. Also create a prop called handleChange and pass the input handler handleChange to it.
  • Add RenderInput to the render method in MyApp, then create a prop called input and pass the inputValue from state to it.

Hints

Hint 1

state is a property of Myapp class, so use 'this.state' to get the object value

Hint 2

To learn more about state and props, read State and Lifecycle and Components and Props.


Solutions

Solution 1 (Click to Show/Hide)
class MyApp extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      inputValue: ""
    };
    this.handleChange = this.handleChange.bind(this);
  }
  handleChange(event) {
    this.setState({
      inputValue: event.target.value
    });
  }
  render() {
    return (
      <div>
        {
          /* change code below this line */

          <GetInput
            input={this.state.inputValue}
            handleChange={this.handleChange}
          />
        }
        {
          /* change code above this line */

          <RenderInput input={this.state.inputValue} />
        }
      </div>
    );
  }
}