小编Eva*_*ore的帖子

任何人都可以推荐像Zendesk这样的开源帮助台应用程序吗?

我正在为我的自由职业者服务建立一个网站,并希望客户能够通过类似于Zendesk提供的界面直接通过我的网站提交问题,但我想使用免费的开源我可以在我的服务器上托管和管理的替代方案.

有什么建议?

open-source tool-rec

5
推荐指数
1
解决办法
2万
查看次数

从流式音频功能更新 useState 时无限重新渲染

我正在构建一个应用程序 React Native,我将一组音频文件发送到 Expo AV Audio.Sound 对象中,加载它们,播放它们,然后尝试使用有关音频文件的信息更新应用程序本身的显示正在播放(特别是用户在文件中的距离)。我正在尝试通过 useState 钩子更新显示,该钩子由音频播放器的回调函数调用。

我遇到的问题是,每当我尝试从音频播放器回调函数更改状态时,我都会陷入无限的重新渲染。简化代码如下:

import React, { useState} from 'react';
import { Audio } from 'expo-av';

const AudioPlayer = ({ user }) => {
    const [currentProgress, setCurrentProgress] = useState(0);

    const soundObject = new Audio.Sound();
    soundObject.setOnPlaybackStatusUpdate(playbackUpdate);
    // sets a function that is called every 500 milliseconds as the audio is played 

    if(user) {
          soundObject.loadAsync({user.message.path});
    }

    const play = () => {
          soundObject.playAsync();
    }

    const playbackUpdate = (playbackObject) => {
          setCurrentProgress(playbackObject.currentMillis);
          // updating state with progress …
Run Code Online (Sandbox Code Playgroud)

javascript audio reactjs react-native react-hooks

1
推荐指数
1
解决办法
508
查看次数