1.0.39 • Published 1 year ago

react-native-component-kits v1.0.39

Weekly downloads
36
License
MIT
Repository
github
Last release
1 year ago

react-native-component-kits

npm version npm.io npm.io npm.io npm

Getting started

$ npm install react-native-component-kits --save

  • OR

$ yarn add react-native-component-kits

Descriptions

This library will help you improve your code, faster and easier.

Components

ViewVisibleAnimated

<ViewVisibleAnimated >
    <Text>Hello</Text>
</ViewVisibleAnimated> 
  • Props
type ViewVisibleAnimatedProps = {
    scaleEnable?: Boolean,
    autoHide?: Boolean,
    onShowDone?: void,
    onDone?: void,
    onShowStart?: void,
    style?: StyleProp<ViewStyle>,
    delay?: Number,
    duration?: Number,
    timeout?: Number,
    autoShow?: Boolean,
    pointerEvents?: 'box-none' | 'none' | 'box-only' | 'auto',
    scaleType?: 'in' | 'out',
    renderHiddenContent?: any // Content show when component hide, default null
};
  • Method
show(callback, isDelay)

hide(callback)

ScaleButton

<ScaleButton onPress={()=>{}}>
    <Text>Hello</Text>
</ScaleButton> 
  • Props
type TouchableWithoutFeedbackProps

Toast

import { toastRef, Toast, showToast } from 'react-native-component-kits';

// Used
showToast({
    message: 'Copy success!',
    type: 'success',
    position: 'top',
});

<Toast ref={toastRef} />
// or custom children
<Toast>
{({ title, type, message }) => <Text>{message}</Text>}
</Toast>
  • Props
export type ToastProps = {
    translateEnable?: Boolean,
    scaleEnable?: Boolean,
    style?: StyleProp<ViewStyle>,
};

export type ShowToastProps = {
    message: String,
    duration?: Number,
    position?: 'top' | 'bottom',
    type?: 'success' | 'fail',
    onPress?: void,
    title?: String,
    // rest | You can pass any props to your children params
};

Functions

FunctionsDescriptionType
memoDeepEqualUsing memo of React but deep compare preProps with nextProps to check component should be return true or false.Higher Order Function
memoWithRefIt's like memoDeepEqual but using forwardRef to get ref of component.Higher Order Function
useStateCallbackUsing useState of React and handle to get callback after setStateHook
useStateSafeUsing useState of React and handle don't update state when component unmountedHook
detectEmailCheck string is emailBoolean
detectUserNameCheck string is user nameBoolean
detectPhoneNumberCheck string is user phone numberBoolean
withAnimatedConvert class component to use AnimatedFunction

Hooks

FunctionsDescriptionType
useCountdownCountdown value. Params: startDate, endDate, autoStart,intervalTimeHooks
useIntervalCountdown value. Params: callback, delay, autoStartHooks
useFetchDataCountdown value. Params: api,loadingDefault, pathDataHooks

How to use

memoDeepEqual

const App = ()=>{
    return <Text>Hello</Text>
}
export default memoDeepEqual(App) 

// OR

const App = memoDeepEqual(()=>{
    return <Text>Hello</Text>
})

export default App

memoWithRef

const App = (props, ref)=>{
    const updateValue = (value)=>{
        console.log(value)
    }

    useImperativeHandle(
        ref,
        () => ({
            updateValue  
        }),
        [],
    )
    return <Text>Hello</Text>
}
export default memoWithRef(App) 

useStateCallback

const [state, setState] = useStateCallback(initialState)

setState('123',(nextState)=>{
    console.log(nextState)
})

License

This module is MIT licensed


1.0.39

1 year ago

1.0.38

2 years ago

1.0.37

2 years ago

1.0.36

3 years ago

1.0.35

3 years ago

1.0.33

3 years ago

1.0.32

3 years ago

1.0.31

3 years ago

1.0.34

3 years ago

1.0.30

4 years ago

1.0.26

4 years ago

1.0.29

4 years ago

1.0.28

4 years ago

1.0.27

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0

4 years ago