我有一个在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状态对象上,也不希望将支撑向下传递给表示组件.
有没有办法可以将支柱传递给这个容器组件?或者,有什么替代方法我可以忽略吗?
谢谢.
我确定有办法做到这一点,但我还是看不出怎么样.
我想做的是添加一个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) 我对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]在派生类中提供方法时才会调用基本方法.
有什么想法吗?让我真的很困惑!
谢谢.
我已经从其他人那里接管了一个网站的代码来完成,并且遇到了每次加载页面的问题,我在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) 我在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) 我想要实现的是允许人们创作和构建他们自己的 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) 近几个月来,我们的存储库规模增长了很多,TeamCity 构建现在变得非常缓慢。
大部分来自安装文件和其他非代码、非必要(无论如何构建)的东西,人们已经签入了 SVN。
我们只运行基本的免费版本并有 3 个代理。我们的 VCS 结帐模式是“服务器上自动”。2 个解决方案文件都是 C#,我们使用的是 MSBuild 脚本。
我喜欢构建配置中的结帐规则部分,但我读到它不起作用,因为它获取所有代码然后应用规则,如果你问我,它会破坏对象。
构建现在需要大约 1 小时,但如果我可以让 TeamCity 获取它需要的代码而不用其他任何东西,那么我认为我可以将其缩短到 10 分钟或更短时间。
我发现了一些使用 MSBuild 排除文件和文件夹的文章,但我在我们的构建脚本中找不到任何关于从 SVN 获取的内容,我认为 TeamCity 做到了。
任何人都可以提出我们可以做出的任何更改,或者关于使用 TeamCity 和 MSBuild 从头开始构建构建的好文章,这将允许我选择从 SVN 获取的内容?
谢谢。
我在互联网上搜索过,找不到任何与我追求的东西直接相符的东西....
我有一个存储过程返回一组固定的列(比如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) 这个问题是我上周问的一个问题 -如何将多个函数应用于传入的实时模板变量?
现在我有一个名为 的实时模板函数classNameFromFileName,我无法在文件模板中使用它。
我已经勾选了文件模板编辑器页面内的“启用实时模板”复选框,并且#set或#[[ ]]#等的组合都不起作用。
如果我使用模板,它最终只会将实时模板函数的名称放入我的新文件中,而不是实际调用该函数。
PyCharm 帮助没有提供任何示例 - 有谁知道如何从文件模板调用实时模板函数?
谢谢。
我正在创建一个与 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?
我已经尝试了各种重写和代理指令,但我似乎只是破坏了应用程序 - 我确信有一种我忽略的简单方法。
非常感谢。
我无法通过创建新的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) 我有一段代码,我开始将策略模式放在适当的位置,如下所示:
IStrategy
StrategyA : IStrategy
StrategyB : IStrategy
StrategyC : IStrategy
Run Code Online (Sandbox Code Playgroud)
界面上只有一个Calculate方法.在实现之后,结果发现所有3种具体类型都具有相同的Calculate方法代码和两个同名的Properties,只是设置了不同的值.
因此,为了删除重复,我使接口成为一个抽象类,并将方法和属性向下移动到那个,只需在具体类型的构造中设置基本属性及其各自的值.
现在我知道模式并不是硬性规定,而是规则,但是我已经从指南中歪曲了这一点,我不禁想到还有另一种我应该关注的模式?
任何人都可以建议任何其他方法,让我这样,很容易添加新的'策略'下线.可能会发现我们需要改变其中一些新案例中的逻辑,所以我怎样才能构建它以便我没有重复的代码,但是有一个灵活的设计可以让我改变一下呢?
谢谢.
我正在 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 做点什么?
谢谢。
c# ×4
react-native ×3
.net-3.5 ×2
javascript ×2
reactjs ×2
webpack ×2
.net ×1
css ×1
dynamic ×1
html ×1
linq ×1
msbuild ×1
npm ×1
nunit ×1
pycharm ×1
react-redux ×1
redux ×1
refactoring ×1
sql ×1
svn ×1
t-sql ×1
teamcity-5.0 ×1
unit-testing ×1