小编Tai*_*Tai的帖子

React 子渲染函数中的早期返回:返回 null、[] 或 React.Fragment?

假设我有一个简单的组件,它可能会或可能不会呈现计数器。

React 中表达阻塞代码路径的最佳实践是什么?如果它返回null[]Fragment

class App extends Component {
  renderCounter() {
    if (!this.props.shouldRenderCounter) {
      // // which should I return?
      // return; 
      // return null; 
      // return []; 
      // return <React.Fragment />; 
    }
    return <Counter />;
  }

  render() {
    return (
      <div>
        {this.renderCounter()}
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我认为null是最清楚的,但我可以想象如果返回函数周围的上下文需要一个组件,它会导致问题。[]Fragment这两个看似细微的选项对我来说,除了片段是更容易一些阅读。有什么不同?

reactjs react-fragment

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

Android AudioRecord.read返回0项的数组

我正在尝试做的事情: 我正在尝试编写一个从Android麦克风中读取音频的程序(无需录制),并捕获一些使用服务的大小程度.现在我正在从我的活动向我的服务发送一个脉冲,以获得快速的声音读取,并检查振幅的Logcat打印输出作为我的音量.

我的问题: AudioRecord的read方法返回0.

我尝试过: 录制完整的音频而不是使用NullOutputStream并没有什么区别.一些早期版本在添加了一些微不足道的变化(如logcat调用)后随机开始工作,然后停止工作.

我的想法: 我原本以为可能是其他应用程序正在使用麦克风,但即使这是唯一值得注意的服务,它仍会返回0.

我的服务:

import org.apache.commons.io.output.NullOutputStream;


public class RecordingService extends Service {

public static final int SAMPLE_RATE = 16000;

private AudioRecord mRecorder;
private File mRecording;
private short[] mBuffer;

public static final NullOutputStream NULL_OUTPUT_STREAM = new NullOutputStream();

public double amplitude = 0.0;

public String TAG = "TAG";

public void onCreate() {
    super.onCreate();
}

public int onStartCommand(Intent intent, int flags, int startId){

    initRecorder();
    mRecorder.startRecording();
    mRecording = getFile("raw");
    startBufferedWrite(mRecording, intent);
    mRecorder.stop();
    mRecorder.release();
    stopSelf();

    return START_STICKY;
}

private void …
Run Code Online (Sandbox Code Playgroud)

arrays service android outputstream audio-recording

8
推荐指数
0
解决办法
1326
查看次数