Open rosskevin opened 6 years ago
Hmm not great. I haven't seen this so far, I wonder if it's related to v16 lifecycle hook changes. I'll take a look
Sorry, thought this was inside react formal, but it's my Submit component. Still related to Form.Trigger
.
Usage may help then?
// @flow
import Form from '@alienfast/react-formal'
import React from 'react'
import Button from '../Button'
import Logger from '../util/Logger'
import type {Node} from 'react'
/**
* private - we simply need to pass this in for submit
*/
const RaisedButton = (props: { errors?: Object, children?: Node }) => {
const { children, ...rest } = props
return (<Button raised {...rest}>{children}</Button>)
}
type Props = {
raised?: boolean,
disabled?: boolean,
children?: Node
}
const Submit = (props: Props) => {
const {
raised,
disabled,
children,
...rest
} = props
return (
// $FlowFixMe
<Form.Trigger group='@all'>
{({ messages }) => {
const errors = !!Object.keys(messages).length
// disable when marked as such or errors
let styleProps
if (disabled || errors) {
styleProps = { disabled: true }
}
log.debug('render', styleProps, errors || disabled, props)
return (
// $FlowFixMe
<Form.Button
type='submit'
{...rest}
{...styleProps}
component={raised ? RaisedButton : Button}
>
{children}
</Form.Button>
)
}}
</Form.Trigger>
)
}
const log = Logger.get('Submit')
export default Submit