message: extract payment info into its own component
diff: @@ -13,6 +13,7 @@ import { PaymentCardTextFieldParams } from "../types"
  interface CreditCardFormProps {
  navigator?: NavigatorIOS
  + params: PaymentCardTextFieldParams
  onSubmit: (t: StripeToken, p: PaymentCardTextFieldParams) => void
  }
  @@ -35,15 +36,10 @@ const styles = StyleSheet.create({
  })
  export class CreditCardForm extends Component<CreditCardFormProps, CreditCardFormState> {
  - state = {
  - valid: false,
  - params: {
  - number: null,
  - expMonth: null,
  - expYear: null,
  - cvc: null,
  - },
  - isLoading: false,
  + constructor(props) {
  + super(props)
  +
  + this.state = { valid: null, params: this.props.params, isLoading: false }
  }
  handleFieldParamsChange = (valid, params: PaymentCardTextFieldParams) => {
  @@ -55,9 +51,7 @@ export class CreditCardForm extends Component<CreditCardFormProps, CreditCardFor
  const { params } = this.state
  - const token = await stripe.createTokenWithCard({
  - ...params,
  - })
  + const token = await stripe.createTokenWithCard({ ...params })
  this.props.onSubmit(token, this.state.params)
  this.props.navigator.pop()
  