javascript - 查看 'SeekBar'的render方法

标签 javascript css react-native

invariant violation element type is invalid: expected a string (for built-in components) or a class/function but got: object 

查看SeekBar的render方法 Screenshot of my error

我不知道我的 SeekBar 代码的对象错误是什么。感谢您的帮助。

var Slider = require('react-native-slider');

function pad(n, width, z=0) {
    n = n + '';
    return n.length >= width ? n : new Array(width - n.length + 1).join(z) + n;
}

const minutesAndSeconds = (position) => ([
    pad(Math.floor(position / 60), 2),
    pad(position % 60, 2),
]);

const SeekBar = ({
    trackLength,
    currentPosition,
    onSeek,
    onSlidingStart,
    })=> {
        const elapsed = minutesAndSeconds(currentPosition);
        const remaining = minutesAndSeconds(trackLength - currentPosition);
        return (
            <View style={styles.container}>
              <View style={{flexDirection: 'row'}}>
                <Text style={styles.text}>
                  {elapsed[0] + ":" + elapsed[1]}
                </Text>
                <View style={{flex: 1}} />
                <Text style={[styles.text, {width: 40}]}>
                  {trackLength > 1 && "-" + remaining[0] + ":" + remaining[1]}
                </Text>
              </View>
              <Slider
                maximumValue={Math.max(trackLength, 1, currentPosition + 1)}
                onSlidingStart={onSlidingStart}
                onSlidingComplete={onSeek}
                value={currentPosition}
                style={styles.slider}
                minimumTrackTintColor='#fff'
                maximumTrackTintColor='rgba(255, 255, 255, 0.14)'
                thumbStyle={styles.thumb}
                trackStyle={styles.track}/>
            </View>
        );
};

export default SeekBar;

这是我的样式表代码:

const styles = StyleSheet.create({
    slider: {
        marginTop: -12,
    },
    container: {
        paddingLeft: 16,
        paddingRight: 16,
        paddingTop: 16,
    },
    track: {
        height: 2,
        borderRadius: 1,
    },
    thumb: {
        width: 10,
        height: 10,
        borderRadius: 5,
        backgroundColor: 'white',
    },
    text: {
        color: 'rgba(255, 255, 255, 0.72)',
        fontSize: 12,
        textAlign:'center',
    }
});

最佳答案

您是否尝试像 import { Slider } from "react-native-slider" 那样导入 Slider?

或者只是从“react-native-slider”导入 slider

关于javascript - 查看 'SeekBar'的render方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52888841/

相关文章:

javascript - 渐进式 konami 代码

html - 如何将容器中的图像链接居中?

javascript - 将 JQuery .css 放入条件语句

react-native - `react-native init app` 在 React-Native 0.56 中不起作用

android - react native : Generating apk file

javascript - 为什么我的函数未定义?

javascript - 在表单验证函数中查找类

html - Bootstrap 4 在右侧而不是左侧偏移 - 类似于偏移但在 div 的右侧而不是左侧创建空间

android - 如何解决 react-native 中的 android Overflow 问题

javascript - 在 React 中,为什么 setState() 比 setTimeout 优先执行?