我正在播放一个无线电流.我想在流中的歌曲发生变化时生成通知.我正在使用streamscraper(http://code.google.com/p/streamscraper)获取当前流的元数据,并尝试在元数据更改时生成通知.
这是我为实现此目的而创建的异步任务.
public class updateMetadata extends
AsyncTask<String, Void, PlaylistSong<BaseArtist, BaseAlbum>> {
private static final String TAG = updateMetadata.class.getSimpleName();
private PlaylistSong<BaseArtist, BaseAlbum> oldSong = null;
private PlaylistSong<BaseArtist, BaseAlbum> newSong = null;
private metadataHarvester fetchMetadata = new metadataHarvester();
private String streamUrl = null;
@Override
protected PlaylistSong<BaseArtist, BaseAlbum> doInBackground(String... urls) {
for (String url : urls) {
try {
oldSong = fetchMetadata.prepareRadioSong(url);
} catch (Exception e) {
e.printStackTrace();
}
streamUrl = url;
}
newSong = oldSong;
while (newSong == oldSong) {
try { …Run Code Online (Sandbox Code Playgroud) 我正在升级 React 项目的依赖项。我将 styled-components 从 升级1.4.4到2.5.0-1. 自从我读到 styled-components v2 是 v1 的直接替代品后,我并没有预料到会有任何重大变化。
我在网络应用程序中没有看到任何重大更改,但我的测试用例已损坏。
考虑以下愚蠢且无用的测试。
test('does something', () => {
expect(true).toBe(true);
});
Run Code Online (Sandbox Code Playgroud)
正如预期的那样,测试有效。但是,一旦我尝试在测试文件中导入样式组件,它就会失败。
我添加了以下导入。
import {Container} from './styled';
Run Code Online (Sandbox Code Playgroud)
容器样式组件的定义如下:
export const Container = styled.div`
width: 80%;
display: flex;
flex-direction: column;
transition: opacity 0.25s ease-in-out;
`;
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Cannot create styled-component for component: [object Object]
Run Code Online (Sandbox Code Playgroud)
现在,我无法理解发生了什么事。为什么我无法导入样式组件?
编辑
问题出在导入 svg 资源的样式组件上。请参阅下面的答案。
我遵循了这里的指南:https ://redux-observable.js.org/docs/basics/SettingUpTheMiddleware.html(部分:Redux DevTools)
商店的配置方式如下:
// @flow
import { createStore, compose, applyMiddleware } from 'redux';
import { createEpicMiddleware } from 'redux-observable';
import { createReducer } from './reducer';
import { epic } from './epic';
const initialState = {};
const configureStore = () => {
const epicMiddleware = createEpicMiddleware(epic);
const composeEnhancers = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ || compose;
const enhancers = composeEnhancers(applyMiddleware(epicMiddleware));
const store = createStore(createReducer(), initialState, enhancers);
return store;
};
export { configureStore };
Run Code Online (Sandbox Code Playgroud)
但是,如果我没有安装 Redux Devtools 扩展,我的 React 应用程序(使用 CRA 引导)将无法工作。
有人可以告诉我我做错了什么吗?
缺少扩展的错误日志: …
reactjs redux react-redux redux-devtools-extension create-react-app
我使用以下方法为我的网站设置不同屏幕尺寸的样式.
<div id="sidebar" class="col-md-3 hidden-xs hidden-sm">
<!-- Inner Classes and Stuff -->
<!-- IMPORTANT: Div auto-inserted by Typo3 -->
</div> <!-- sidebar -->
<div id="sidebar_mobile" class="col-xs-12 hidden-md hidden-lg">
<!-- Inner Classes and Stuff -->
<!-- IMPORTANT: Div auto-inserted by Typo3 -->
</div> <!-- sidebar -->
Run Code Online (Sandbox Code Playgroud)
然后我在CSS中定义了#sidebar和#sidebar_mobile所需的不同样式.这导致两个问题:
我想知道在这种情况下是否有更好的办法.什么是更好的解决方案
我试图用酶测试组件,我收到以下错误:
Warning: Failed context type: The context `history` is marked as required in `Link`, but its value is `undefined`.
in Link (at UserTable.js:30)
in button (created by Button)
in Button (at UserTable.js:29)
in td (at UserTable.js:28)
in tr (at UserTable.js:24)
in tbody (at UserTable.js:43)
in table (created by Table)
in Table (at UserTable.js:41)
in UserTable (at UserTable.test.js:19)
Run Code Online (Sandbox Code Playgroud)
这是我的测试:
import React from 'react';
import { render } from 'enzyme';
import { fromJS } from 'immutable';
import { Table } from 'react-bootstrap'; …Run Code Online (Sandbox Code Playgroud) 我使用 rem 单位在 CSS 中定义字体大小,我想使用 javascript 向最终用户提供更改字体大小的选项。
我可以使用预定义的字体大小并使用以下函数更改字体大小:
document.documentElement.style.fontSize = "67.5%"
Run Code Online (Sandbox Code Playgroud)
我想要做的是将字体大小更改为当前字体大小的一个因素。基本上是这样的:
document.documentElement.style.fontSize = Number(document.documentElement.style.fontSize) + Number(5) + "%"
Run Code Online (Sandbox Code Playgroud)
我该如何实现这一目标?