小编rah*_*all的帖子

调用异步任务

我正在播放一个无线电流.我想在流中的歌曲发生变化时生成通知.我正在使用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)

android android-asynctask

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

使用 SVG 导入对样式组件进行单元测试

我正在升级 React 项目的依赖项。我将 styled-components 从 升级1.4.42.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 资源的样式组件上。请参阅下面的答案。

javascript reactjs jestjs styled-components

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

如果未安装 Redux DevTools 扩展,则 Redux 应用程序无法运行

我遵循了这里的指南: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

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

使用Bootstrap 3为不同屏幕尺寸设置网站样式

我使用以下方法为我的网站设置不同屏幕尺寸的样式.

<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所需的不同样式.这导致两个问题:

  • 重复(#sidebar和#sidebar_mobile之间有许多共享属性).
  • 重复ID - 由Typo3自动插入的div(通过Typo3后端插入的原始HTML内容)最终具有相同的ID(在#sidebar和#sidebar_mobile内).这使WCAG 2.0 AA失败,我需要我的网站通过这个.

我想知道在这种情况下是否有更好的办法.什么是更好的解决方案

html css typo3 twitter-bootstrap-3 wcag2.0

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

测试与酶的联系

我试图用酶测试组件,我收到以下错误:

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)

reactjs enzyme react-router-v4

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

根据(根元素的)当前大小增加 javascript 中根元素的字体大小

我使用 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)

我该如何实现这一目标?

玩弄小提琴:http://jsfiddle.net/rahulthewall/wX94C/1/

html javascript css fonts

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