A custom button that displays as an Paper Button with icon or just an icon if ICrossButtonProps.title is not supplied.

Remarks:

- All icons are FontAwesome v4.
- react-native-paper is currently missing the option to customize `fontSize`.
- Default appearence is "text", see ICrossButtonProps.mode

Properties are ICrossButtonProps

### Type parameters

- #### S

- #### SS

- #### S

### Hierarchy

- Component<ICrossButtonProps>
  - CrossButton

## Index

### Constructors

- constructor

### Properties

- context
- props
- refs
- state
- contextType

### Methods

- UNSAFE_componentWillMount
- UNSAFE_componentWillReceiveProps
- UNSAFE_componentWillUpdate
- componentDidCatch
- componentDidMount
- componentDidUpdate
- componentWillMount
- componentWillReceiveProps
- componentWillUnmount
- componentWillUpdate
- forceUpdate
- getSnapshotBeforeUpdate
- render
- setState
- shouldComponentUpdate

## Constructors

### constructor

- new CrossButton(props: Readonly<ICrossButtonProps>): CrossButton
- new CrossButton(props: ICrossButtonProps, context?: any): CrossButton

- Inherited from Component.__constructor

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:387

  #### Parameters

  - ##### props: Readonly<ICrossButtonProps>

  #### Returns CrossButton

- Inherited from Component.__constructor

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:389
  deprecated
  see

    https://reactjs.org/docs/legacy-context.html

  #### Parameters

  - ##### props: ICrossButtonProps

  - ##### Optional context: any

  #### Returns CrossButton

## Properties

### context

context: any

Inherited from Component.context

- Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:387

If using the new style context, re-declare this in your class to be the `React.ContextType` of your `static contextType`.

    static contextType = MyContext
    context!: React.ContextType<typeof MyContext>

deprecated

  if used without a type annotation, or without static contextType

see

  https://reactjs.org/docs/legacy-context.html

### props

props: Readonly<object> & Readonly<ICrossButtonProps>

Inherited from Component.props

- Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:412

### refs

refs: object

Inherited from Component.refs

- Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:418

deprecated

  https://reactjs.org/docs/refs-and-the-dom.html#legacy-api-string-refs

#### Type declaration

- ##### [key: string]: ReactInstance

### state

state: Readonly<S>

Inherited from Component.state

- Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:413

### Static Optional contextType

contextType: Context<any>

Inherited from Component.contextType

- Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:372

If set, `this.context` will be set at runtime to the current value of the given Context.

Usage:

    type MyContext = number
    const Ctx = React.createContext<MyContext>(0)

    class Foo extends React.Component {
      static contextType = Ctx
      context!: React.ContextType<typeof Ctx>
      render () {
        return <>My context's value: {this.context}</>;
      }
    }

see

  https://reactjs.org/docs/context.html#classcontexttype

## Methods

### Optional UNSAFE_componentWillMount

- UNSAFE_componentWillMount(): void

- Inherited from DeprecatedLifecycle.UNSAFE_componentWillMount

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:601

  Called immediately before mounting occurs, and before `Component#render`. Avoid introducing any side-effects or subscriptions in this method.

  This method will not stop working in React 17.

  Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

  deprecated

    16.3, use componentDidMount or the constructor instead

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

  #### Returns void

### Optional UNSAFE_componentWillReceiveProps

- UNSAFE_componentWillReceiveProps(nextProps: Readonly<ICrossButtonProps>, nextContext: any): void

- Inherited from DeprecatedLifecycle.UNSAFE_componentWillReceiveProps

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:633

  Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.

  Calling `Component#setState` generally does not trigger this method.

  This method will not stop working in React 17.

  Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

  deprecated

    16.3, use static getDerivedStateFromProps instead

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

  #### Parameters

  - ##### nextProps: Readonly<ICrossButtonProps>

  - ##### nextContext: any

  #### Returns void

### Optional UNSAFE_componentWillUpdate

- UNSAFE_componentWillUpdate(nextProps: Readonly<ICrossButtonProps>, nextState: Readonly<S>, nextContext: any): void

- Inherited from DeprecatedLifecycle.UNSAFE_componentWillUpdate

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:661

  Called immediately before rendering when new props or state is received. Not called for the initial render.

  Note: You cannot call `Component#setState` here.

  This method will not stop working in React 17.

  Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

  deprecated

    16.3, use getSnapshotBeforeUpdate instead

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

  #### Parameters

  - ##### nextProps: Readonly<ICrossButtonProps>

  - ##### nextState: Readonly<S>

  - ##### nextContext: any

  #### Returns void

### Optional componentDidCatch

- componentDidCatch(error: Error, errorInfo: ErrorInfo): void

- Inherited from ComponentLifecycle.componentDidCatch

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:530

  Catches exceptions generated in descendant components. Unhandled exceptions will cause the entire component tree to unmount.

  #### Parameters

  - ##### error: Error

  - ##### errorInfo: ErrorInfo

  #### Returns void

### Optional componentDidMount

- componentDidMount(): void

- Inherited from ComponentLifecycle.componentDidMount

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:509

  Called immediately after a component is mounted. Setting state here will trigger re-rendering.

  #### Returns void

### Optional componentDidUpdate

- componentDidUpdate(prevProps: Readonly<ICrossButtonProps>, prevState: Readonly<S>, snapshot?: SS): void

- Inherited from NewLifecycle.componentDidUpdate

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:572

  Called immediately after updating occurs. Not called for the initial render.

  The snapshot is only present if getSnapshotBeforeUpdate is present and returns non-null.

  #### Parameters

  - ##### prevProps: Readonly<ICrossButtonProps>

  - ##### prevState: Readonly<S>

  - ##### Optional snapshot: SS

  #### Returns void

### Optional componentWillMount

- componentWillMount(): void

- Inherited from DeprecatedLifecycle.componentWillMount

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:587

  Called immediately before mounting occurs, and before `Component#render`. Avoid introducing any side-effects or subscriptions in this method.

  Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

  deprecated

    16.3, use componentDidMount or the constructor instead; will stop working in React 17

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#initializing-state

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

  #### Returns void

### Optional componentWillReceiveProps

- componentWillReceiveProps(nextProps: Readonly<ICrossButtonProps>, nextContext: any): void

- Inherited from DeprecatedLifecycle.componentWillReceiveProps

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:616

  Called when the component may be receiving new props. React may call this even if props have not changed, so be sure to compare new and existing props if you only want to handle changes.

  Calling `Component#setState` generally does not trigger this method.

  Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

  deprecated

    16.3, use static getDerivedStateFromProps instead; will stop working in React 17

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#updating-state-based-on-props

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

  #### Parameters

  - ##### nextProps: Readonly<ICrossButtonProps>

  - ##### nextContext: any

  #### Returns void

### Optional componentWillUnmount

- componentWillUnmount(): void

- Inherited from ComponentLifecycle.componentWillUnmount

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:525

  Called immediately before a component is destroyed. Perform any necessary cleanup in this method, such as cancelled network requests, or cleaning up any DOM elements created in `componentDidMount`.

  #### Returns void

### Optional componentWillUpdate

- componentWillUpdate(nextProps: Readonly<ICrossButtonProps>, nextState: Readonly<S>, nextContext: any): void

- Inherited from DeprecatedLifecycle.componentWillUpdate

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:646

  Called immediately before rendering when new props or state is received. Not called for the initial render.

  Note: You cannot call `Component#setState` here.

  Note: the presence of getSnapshotBeforeUpdate or getDerivedStateFromProps prevents this from being invoked.

  deprecated

    16.3, use getSnapshotBeforeUpdate instead; will stop working in React 17

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#reading-dom-properties-before-an-update

  see

    https://reactjs.org/blog/2018/03/27/update-on-async-rendering.html#gradual-migration-path

  #### Parameters

  - ##### nextProps: Readonly<ICrossButtonProps>

  - ##### nextState: Readonly<S>

  - ##### nextContext: any

  #### Returns void

### forceUpdate

- forceUpdate(callBack?: undefined | function): void

- Inherited from Component.forceUpdate

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:404

  #### Parameters

  - ##### Optional callBack: undefined | function

  #### Returns void

### Optional getSnapshotBeforeUpdate

- getSnapshotBeforeUpdate(prevProps: Readonly<ICrossButtonProps>, prevState: Readonly<S>): SS | null

- Inherited from NewLifecycle.getSnapshotBeforeUpdate

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:566

  Runs before React applies the result of `render` to the document, and returns an object to be given to componentDidUpdate. Useful for saving things such as scroll position before `render` causes changes to it.

  Note: the presence of getSnapshotBeforeUpdate prevents any of the deprecated lifecycle events from running.

  #### Parameters

  - ##### prevProps: Readonly<ICrossButtonProps>

  - ##### prevState: Readonly<S>

  #### Returns SS | null

### render

- render(): Element

- Overrides Component.render

  - Defined in components/buttons/CrossButton.tsx:90

  #### Returns Element

### setState

- setState<K>(state: function | null | S | object, callback?: undefined | function): void

- Inherited from Component.setState

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:399

  #### Type parameters

  - #### K: keyof S

  #### Parameters

  - ##### state: function | null | S | object

  - ##### Optional callback: undefined | function

  #### Returns void

### Optional shouldComponentUpdate

- shouldComponentUpdate(nextProps: Readonly<ICrossButtonProps>, nextState: Readonly<S>, nextContext: any): boolean

- Inherited from ComponentLifecycle.shouldComponentUpdate

  - Defined in /Users/thomas/Source/react-native-core/node_modules/@types/react/index.d.ts:520

  Called to determine whether the change in props and state should trigger a re-render.

  `Component` always returns true. `PureComponent` implements a shallow comparison on props and state and returns true if any props or states have changed.

  If false is returned, `Component#render`, `componentWillUpdate` and `componentDidUpdate` will not be called.

  #### Parameters

  - ##### nextProps: Readonly<ICrossButtonProps>

  - ##### nextState: Readonly<S>

  - ##### nextContext: any

  #### Returns boolean