小编Mic*_*ael的帖子

将props传递给react-redux容器组件

我有一个在React Native Navigator组件中创建的react-redux容器组件.我希望能够将导航器作为道具传递给此容器组件,以便在按钮按下其表示组件后,它可以将对象推送到导航器堆栈.

我想这样做而不需要手工编写react-redux容器组件给我的所有样板代码(并且也不会错过所有反应 - redux也会在这里给我的优化).

示例容器组件代码:

const mapStateToProps = (state) => {
    return {
        prop1: state.prop1,
        prop2: state.prop2
    }
}

const mapDispatchToProps = (dispatch) => {
    return {
        onSearchPressed: (e) => {
            dispatch(submitSearch(navigator)) // This is where I want to use the injected navigator
        }
    }
}

const SearchViewContainer = connect(
    mapStateToProps,
    mapDispatchToProps
)(SearchView)

export default SearchViewContainer
Run Code Online (Sandbox Code Playgroud)

我希望能够在我的导航器renderScene功能中调用这样的组件:

<SearchViewContainer navigator={navigator}/>
Run Code Online (Sandbox Code Playgroud)

在上面的容器代码中,我需要能够从mapDispatchToProps函数中访问这个传递的prop .

我不想将导航器存储在redux状态对象上,也不希望将支撑向下传递给表示组件.

有没有办法可以将支柱传递给这个容器组件?或者,有什么替代方法我可以忽略吗?

谢谢.

reactjs react-native redux react-redux

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

将Picker Picker绑定到React Native中的Picker.Item列表

我确定有办法做到这一点,但我还是看不出怎么样.

我想做的是添加一个Picker组件,但不是硬编码项目列表,而是从服务中获取它并让Picker绑定到我以后可以填充的东西.

这是我的,但我的应用程序现在甚至不会运行.有什么想法吗?

'use strict';
var React = require('react-native');
var {
    Picker,
    Text,
    View
} = React;

var AvailableServices = React.createClass({
    getInitialState() {
        var fetchServicesUri = 'http://some.url/available_services';
        fetch(fetchServicesUri)
            .then((response) => response.json())
            .then((responseJson) => {
                console.log(responseJson);
                var services = [];
                for(var service in responseJson.services) {
                    services.push(<Picker.Item label={service.Label} value={service.Value}/>);
                }
                this.setState({
                    services: services
                });
            })
            .catch((error) => {
                console.warn(error);
            })
            .done();
        return {
            services: [],
            selectedService: null
        }
    },

    render() {
        return (
            <View>
                <Text>Pick a service</Text>
                <Picker
                    selectedValue={this.state.selectedService}
                    onValueChange={(service) => this.setState({selectedService:service})} …
Run Code Online (Sandbox Code Playgroud)

javascript react-native

20
推荐指数
3
解决办法
3万
查看次数

NUnit不服从属性继承

我对NUnit有一个问题 - 想知道是否有人有任何想法.

我们使用的是NUnit 2.5.3.9345和C#3.5.

请使用以下代码:

public class UnitTestBase
{
    [TestFixtureSetUp]
    public void SetUpTestFixture()
    {
        //Do something in base
    }
}

[TestFixture]
public class SomeTestClass : UnitTestBase
{
    [TestFixtureSetUp]
    public void FixtureSetUp()
    {
        //Do something in test class
    }

    [Test]
    public void SomeTest()
    {
        //Some assertion
    }
}
Run Code Online (Sandbox Code Playgroud)

根据文档,如果我运行SomeTestClass.SomeTest(),UnitTestBase.SetUpTestFixture()应该在之前调用SomeTestClass.FixtureSetUp().

情况并非如此 - 只有在我没有[TestFixtureSetUp]在派生类中提供方法时才会调用基本方法.

有什么想法吗?让我真的很困惑!

谢谢.

c# nunit unit-testing

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

VS2010中的文件不存在异常

我已经从其他人那里接管了一个网站的代码来完成,并且遇到了每次加载页面的问题,我在Global.asax文件中的Application_Error处理程序中捕获到了"File Does Not Exist"异常.

我很好奇它是什么,因此尝试使用网站和Web应用程序创建全新的解决方案,无论是否有母版页和单个.aspx页面 - 两者都有同样的问题.

这是在Windows 7 64位上使用VS2010和.NET 3.5.

有什么想法吗?堆栈跟踪告诉我绝对没有,而且我用新项目获得它的事实很奇怪.

异常堆栈跟踪:

at System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String physicalPath, HttpResponse response)
at System.Web.StaticFileHandler.ProcessRequestInternal(HttpContext context)
at System.Web.DefaultHttpHandler.BeginProcessRequest(HttpContext context, AsyncCallback callback, Object state)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Run Code Online (Sandbox Code Playgroud)

c# visual-studio-2010 .net-3.5 windows-7-x64

9
推荐指数
2
解决办法
5824
查看次数

自定义C#config无法识别的元素异常

我在App.config中有以下针对.NET 3.5 Windows服务的位:

<configSections>
    <section name="ConfigurationServiceSection" type="SomeApp.Framework.Configuration.ConfigurationServiceSection, SomeApp.Framework"/>
</configSections>

<ConfigurationServiceSection configSource="ConfigSections\configurationServiceSection.config" />
Run Code Online (Sandbox Code Playgroud)

我在configurationServiceSection.config中有这个:

<ConfigurationServiceSection>
    <ConfigurationServices>
        <ConfigurationService name="LocalConfig" host="localhost" port="40001" location="LON"/>
    </ConfigurationServices>
</ConfigurationServiceSection>
Run Code Online (Sandbox Code Playgroud)

这是代码:

using System.Configuration;

namespace SomeApp.Framework.Configuration
{
    public sealed class ConfigurationServiceSection : ConfigurationSection
    {
        [ConfigurationProperty("ConfigurationServices", IsDefaultCollection = true, IsRequired = true)]
        [ConfigurationCollection(typeof(ConfigurationServices))]
        public ConfigurationServices ConfigurationServices
        {
            get
            {
                return (ConfigurationServices)base["ConfigurationServices"];
            }
        }
    }

    public sealed class ConfigurationServices : ConfigurationElementCollection
    {
        protected override ConfigurationElement CreateNewElement()
        {
            return new ConfigurationService();
        }

        protected override object GetElementKey(ConfigurationElement element)
        {
            ConfigurationService configService = (ConfigurationService) …
Run Code Online (Sandbox Code Playgroud)

c# windows-services .net-3.5 custom-configuration

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

从外部源动态加载 React 组件/包

我想要实现的是允许人们创作和构建他们自己的 React 内容(假设该内容是可信的,因为它将从我自己的 API 中提供),然后将该内容动态加载到我的 React UI 中。

我一直在四处寻找让这个工作的方法,但我错过了让它工作的最后一部分,或者它可能不可能。

所以想象一下,我已经部署了我已经捆绑的 UI 并运行了一个基本的应用程序,例如:(为了简洁,我省略了模块导入)

const App = () => (
  <h1>My App</h1>
  <DynamicContent />
);
Run Code Online (Sandbox Code Playgroud)

...所以对于动态内容组件,我希望能够加载外部源 - 我已经看到react-loadable了很多,所以希望这会有所帮助:

const DynamicComponent = () => (
  state = { content: null };

  componentDidMount() {
    const content = Loadable({
      loader: () => import(fetch('http://localhost:3000/dynamic')),
      loading: () => <div>Loading { m }...</div>,
    });
    this.setState({ content });
  }

  render() {
    return this.state.content;
  }
);
Run Code Online (Sandbox Code Playgroud)

如果我们假设 hithttp://localhost:3000/dynamic返回一个组件的字符串,如下所示:

const MyContent = () => <h2>Dynamic Content</h2>;

export …
Run Code Online (Sandbox Code Playgroud)

dynamic reactjs webpack

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

如何加快我们的 TeamCity 构建速度?

近几个月来,我们的存储库规模增长了很多,TeamCity 构建现在变得非常缓慢。

大部分来自安装文件和其他非代码、非必要(无论如何构建)的东西,人们已经签入了 SVN。

我们只运行基本的免费版本并有 3 个代理。我们的 VCS 结帐模式是“服务器上自动”。2 个解决方案文件都是 C#,我们使用的是 MSBuild 脚本。

我喜欢构建配置中的结帐规则部分,但我读到它不起作用,因为它获取所有代码然后应用规则,如果你问我,它会破坏对象。

构建现在需要大约 1 小时,但如果我可以让 TeamCity 获取它需要的代码而不用其他任何东西,那么我认为我可以将其缩短到 10 分钟或更短时间。

我发现了一些使用 MSBuild 排除文件和文件夹的文章,但我在我们的构建脚本中找不到任何关于从 SVN 获取的内容,我认为 TeamCity 做到了。

任何人都可以提出我们可以做出的任何更改,或者关于使用 TeamCity 和 MSBuild 从头开始​​构建构建的好文章,这将允许我选择从 SVN 获取的内容?

谢谢。

svn msbuild continuous-integration teamcity-5.0

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

如何通过LINQ to SQL返回变量列长度

我在互联网上搜索过,找不到任何与我追求的东西直接相符的东西....

我有一个存储过程返回一组固定的列(比如ColumnA,ColumnB和ColumnC),然后另外返回一个不确定的数字/签名的其他列(可能是ColumnD,ColumnE和ColumnF,或ColumnF,ColumnP,ColumnT和ColumnW) .

查询的动态部分由proc的Id参数确定.

不幸的是,我无法控制架构,并且设计得很差,无法在最后添加大量不相关的列(并且它们不断添加它们),而不是有一个额外的表来有效地存储它.

因此,我无法在编译时返回一组确定的列,因此LINQ to SQL无法确定存储过程的返回类型.

我还有其他选择,或者我可以解决这个问题吗?这是我在下面做的一个例子.我可以重写它以使用LINQ to SQL吗?我正在使用C#和SQL Server 2008编写应用程序,如果这有帮助的话.

谢谢.

CREATE PROCEDURE [Foo].[GetBar]
(
    @Id INT,
    @FooVar VARCHAR(50),
    @BarVar DATE
)

AS 
BEGIN

CREATE TABLE #TempTbl 
(     
    [ColumnName] VARCHAR(50)
)

INSERT #TempTbl EXEC [Foo].GetColumnNames @Id
DECLARE @ColumnNameList NVARCHAR(max) 
SET @ColumnNameList = '' 
SELECT @ColumnNameList = COALESCE(@ColumnNameList + '],[', '') + ColumnName FROM #TempTbl
DROP TABLE #TempTbl
SELECT @ColumnNameList = @ColumnNameList + ']'
SELECT @ColumnNameList = SUBSTRING(@ColumnNameList, 3, LEN(@ColumnNameList) )

DECLARE @FixedColumns VARCHAR(200)
DECLARE @SelectQuery NVARCHAR(max) 
DECLARE …
Run Code Online (Sandbox Code Playgroud)

.net c# sql t-sql linq

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

PyCharm:如何在文件模板中使用实时模板

这个问题是我上周问的一个问题 -如何将多个函数应用于传入的实时模板变量?

现在我有一个名为 的实时模板函数classNameFromFileName,我无法在文件模板中使用它。

我已经勾选了文件模板编辑器页面内的“启用实时模板”复选框,并且#set#[[ ]]#等的组合都不起作用。

如果我使用模板,它最终只会将实时模板函数的名称放入我的新文件中,而不是实际调用该函数。

PyCharm 帮助没有提供任何示例 - 有谁知道如何从文件模板调用实时模板函数?

谢谢。

intellij-idea live-templates pycharm file-templates

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

如何重写 webpack-dev-server 中的某些 URL

我正在创建一个与 Webpack 捆绑在一起的 React 和 React-router v4 应用程序。我正在使用 Webpack 创建异步分割点,以用于按需应用程序的反应路由器路由的异步加载包。

假设我的应用程序称为“myapp”,当我将其部署到我的服务器时,我的静态资产需要从以下位置提供:

/myapp/static/<assetName>
Run Code Online (Sandbox Code Playgroud)

为了在部署到服务器时异步包加载正常工作,我的 Webpack 输出配置如下:

output: {
  path: path.resolve(__dirname, "build"),
  publicPath: "/myapp/static/",
  chunkFilename: "[name].[chunkhash].bundle.js",
  filename: "[name].[chunkhash].bundle.js"
}
Run Code Online (Sandbox Code Playgroud)

在我的 devServer 部分我有这个:

devServer: {
  historyApiFallback: true,
  inline: true,
  port: 4000,
  publicPath: "/myapp" // this is so my app is served from http://locahost:4000/myapp 
}
Run Code Online (Sandbox Code Playgroud)

当我实际部署到我的服务器时,我没有任何问题,但是当我运行 webpack-dev-server 并访问时:

http://localhost:4000/myapp
Run Code Online (Sandbox Code Playgroud)

...html 已提供,但为我的捆绑包生成的所有 URLHtmlWebpackPlugin均已提供/myapp/static/<bundleName>,因此无法获取,因为捆绑包正在提供/mpapp/<bundleName>

如何配置 webpack-dev-server 进行重写,/myapp/static/<bundleName>以便/myapp/<bundleName>它将路由到实际在本地提供服务的包/myapp

我已经尝试了各种重写和代理指令,但我似乎只是破坏了应用程序 - 我确信有一种我忽略的简单方法。

非常感谢。

webpack webpack-dev-server

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

React Native Init Hanging

我无法通过创建新的React Native项目react-native init <ProjectName>.

这是我自升级到macOS Sierra以来第一次尝试,但我不知道这是否相关.

如果我使用该--verbose标志运行该命令,它将运行所有npm包,但最终输出以下内容:

??? UNMET PEER DEPENDENCY react@~15.3.1
<List of other packages including react-native 0.34.1>

npm WARN react-native@0.34.1 requires a peer of react@~15.3.1 but none was installed.
npm verb 
npm verb If you need help, you may report this error at:
npm verb     <https://github.com/npm/npm/issues>
npm verb exit [ 0, true ]
npm info ok 
Run Code Online (Sandbox Code Playgroud)

它然后无限期地坐在那里.上次我创建了一个反应原生项目,最多需要20-30秒,但现在它永远不会完成(比如10-15分钟后).

如果我终止进程,我所拥有的只是一个package.json,其中包含以下内容:

{
  "name": "TestApp",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node node_modules/react-native/local-cli/cli.js start"
  },
  "dependencies": { …
Run Code Online (Sandbox Code Playgroud)

npm react-native

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

战略的替代模式

我有一段代码,我开始将策略模式放在适当的位置,如下所示:

IStrategy
StrategyA : IStrategy
StrategyB : IStrategy
StrategyC : IStrategy
Run Code Online (Sandbox Code Playgroud)

界面上只有一个Calculate方法.在实现之后,结果发现所有3种具体类型都具有相同的Calculate方法代码和两个同名的Properties,只是设置了不同的值.

因此,为了删除重复,我使接口成为一个抽象类,并将方法和属性向下移动到那个,只需在具体类型的构造中设置基本属性及其各自的值.

现在我知道模式并不是硬性规定,而是规则,但是我已经从指南中歪曲了这一点,我不禁想到还有另一种我应该关注的模式?

任何人都可以建议任何其他方法,让我这样,很容易添加新的'策略'下线.可能会发现我们需要改变其中一些新案例中的逻辑,所以我怎样才能构建它以便我没有重复的代码,但是有一个灵活的设计可以让我改变一下呢?

谢谢.

refactoring design-patterns strategy-pattern

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

在可变宽度网站的两侧均匀隐藏图像

我正在 MVC5 中编写一个 HTML5 网站,该网站的宽度可变,并且在其最大宽度下,div 内会完整显示图像。随着网站缩小,目前它会从图像右侧删除内容,但我希望它从两侧均匀地删除内容。

定义站点的外包装div以保持站点居中,样式如下:

#wrapper {
    min-width: 1152px;
    max-width: 1680px;
    margin: 0 auto;
    position: relative;
}
Run Code Online (Sandbox Code Playgroud)

包含图像的 div 具有以下样式:

#main {
    position: relative;
    overflow: hidden;
}
Run Code Online (Sandbox Code Playgroud)

img目前我刚刚在主 div 内的标签中获取了图像,如下所示:

<img src="@Url.Content("~/Content/Images/Home/home.jpg")"/>
Run Code Online (Sandbox Code Playgroud)

如何在网站变窄时使图像两侧均匀变窄,反之,当图像再次变宽至最大时,如何使图像两侧均匀显示?CSS 有办法吗,还是我需要用 Javascript 做点什么?

谢谢。

html javascript css

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