title: ReactJS typescript error Parameter props implicitly has 'any' type
body: <p>Following, and adapting the tutorial <a href="https://reactjs.org/tutorial/tutorial.html" rel="noreferrer">here</a>, I've hit a snag when trying to define a function to render some HTML.</p>
  
  <pre><code>function Toolbar(props) {
      return (
          &lt;div&gt;
              &lt;button onClick={() =&gt; props.onClick()}&gt;Refresh&lt;/button&gt;
          &lt;/div&gt;
      );
  }
  </code></pre>
  
  <p>This errors in Typescript, because props is not defined.  I understand why I'm getting the error, but what I'm missing is what type should <code>props</code> be?  </p>
  
  <p>I believe I should then be able to use this inside another component like this:</p>
  
  <pre><code>function App() {
      return (
          &lt;div&gt;
              &lt;Toolbar onClick={() =&gt; alert('hello world')}&gt;Test&lt;/Toolbar&gt;
          &lt;/div&gt;
      );
  }
  </code></pre>
  
  <p>And the <code>props</code> is just whatever I specify.  This would seem to be borne out <a href="https://reactjs.org/docs/components-and-props.html" rel="noreferrer">here</a>: although that link doesn't mention typescript.  So, my question is: how does this feature (that of passing properties into a function or class) work with typescript when, by definition, you don't know what you're passing through?</p>