title: Why am i getting parsing errors in react-intl V3.2.2?
body: <p>I updated my app from reactinlt 2.x to 3.2.2. Now I get the following error for each formatted message:</p>
  
  <p>index.js:1437 [React Intl] Error formatting message: "titleBar.login" for locale: "de", using default message as fallback.
  TypeError: A message must be provided as a String or AST.</p>
  
  <p>Same for the default message:
  Error formatting the default message for: "titleBar.login"
  TypeError: A message must be provided as a String or AST.</p>
  
  <p>And finally:
  [React Intl] Cannot format message: "titleBar.login", using message source as fallback</p>
  
  <p>However the GUI renders correctly and shows the German translation ("de"). But I get swamped in the Chrome console with error messages. What's wrong?</p>
  
  <pre><code>  const userInfo = useContext(UserContext);  // using hooks
  
    return (
      &lt;UncontrolledDropdown className={styles.user}&gt;
        &lt;DropdownToggle&gt;
          ...
        &lt;/DropdownToggle&gt;
        &lt;DropdownMenu&gt;
         ...
  
          {!userInfo.isLoggedIn &amp;&amp; (
            &lt;DropdownItem&gt;
              &lt;div onClick={() =&gt; userInfo.login()}&gt;
                &lt;FormattedMessage {...msgs.login} /&gt;  // this has id=titleBar.login
              &lt;/div&gt;
            &lt;/DropdownItem&gt;
          )}
        &lt;/DropdownMenu&gt;
      &lt;/UncontrolledDropdown&gt;
    );
  };
  </code></pre>
  
  <p>Any idea how I can get rid of those error messages?</p>
  
  <p>BTW: The error is thrown in format message. The message is parsed as a string (no placeholders etc). Then it checks if the AST is an array and throws because it is only one node...
  Here's the code section:</p>
  
  <pre><code> if (typeof message === 'string') {
        this.message = message;
  
        if (!IntlMessageFormat.__parse) {
          throw new TypeError('IntlMessageFormat.__parse must be set to process `message` of type `string`');
        } // Parse string messages into an AST.
  
  
        this.ast = IntlMessageFormat.__parse(message);
      } else {
        this.ast = message;
      }
  
      if (!Array.isArray(this.ast)) {
        throw new TypeError('A message must be provided as a String or AST.');
      }
  </code></pre>