Added redux selectors to improve performance. Fixed drawer. Cleaned up code and removed some unused code.

This commit is contained in:
Håvar Aambø Fosstveit
2019-04-03 00:09:27 +02:00
parent 0478a44b74
commit fd1e512a80
14 changed files with 271 additions and 344 deletions
-39
View File
@@ -1,39 +0,0 @@
import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import * as appPropTypes from '../appPropTypes';
import PeerAudio from './PeerAudio';
const AudioPeer = ({ micConsumer }) =>
{
return (
<PeerAudio
audioTrack={micConsumer ? micConsumer.track : null}
/>
);
};
AudioPeer.propTypes =
{
micConsumer : appPropTypes.Consumer,
name : PropTypes.string
};
const mapStateToProps = (state, { name }) =>
{
const peer = state.peers[name];
const consumersArray = peer.consumers
.map((consumerId) => state.consumers[consumerId]);
const micConsumer =
consumersArray.find((consumer) => consumer.source === 'mic');
return {
micConsumer
};
};
const AudioPeerContainer = connect(
mapStateToProps
)(AudioPeer);
export default AudioPeerContainer;
+13 -8
View File
@@ -1,19 +1,24 @@
import React from 'react';
import { connect } from 'react-redux';
import { micConsumerSelector } from '../Selectors';
import PropTypes from 'prop-types';
import AudioPeer from './AudioPeer';
import PeerAudio from './PeerAudio';
const AudioPeers = ({ peers }) =>
const AudioPeers = (props) =>
{
const {
micConsumers
} = props;
return (
<div data-component='AudioPeers'>
{
Object.values(peers).map((peer) =>
micConsumers.map((micConsumer) =>
{
return (
<AudioPeer
key={peer.name}
name={peer.name}
<PeerAudio
key={micConsumer.id}
audioTrack={micConsumer.track}
/>
);
})
@@ -24,12 +29,12 @@ const AudioPeers = ({ peers }) =>
AudioPeers.propTypes =
{
peers : PropTypes.object
micConsumers : PropTypes.array
};
const mapStateToProps = (state) =>
({
peers : state.peers
micConsumers : micConsumerSelector(state)
});
const AudioPeersContainer = connect(