我正在获取这样的URL:
fetch(url, {
mode: 'no-cors',
method: method || null,
headers: {
'Accept': 'application/json, application/xml, text/plain, text/html, *.*',
'Content-Type': 'multipart/form-data'
},
body: JSON.stringify(data) || null,
}).then(function(response) {
console.log(response.status)
console.log("response");
console.log(response)
})
Run Code Online (Sandbox Code Playgroud)
我的API期望数据是multipart/form-data这样的,我正在使用content-type这种类型......但是它给了我一个状态代码为400的响应.
我的代码出了什么问题?
我在redux createStore方法中设置了InitialState,并将InitialState作为第二个参数
我在浏览器中出错:
<code>Uncaught Error: Reducer "postsBySubreddit" returned undefined during initialization. If the state passed to the reducer is undefined, you must explicitly return the initial state. The initial state may not be undefined.</code>
Run Code Online (Sandbox Code Playgroud)
代码在这里:
import { createStore, applyMiddleware } from 'redux'
import thunkMiddleware from 'redux-thunk'
import createLogger from 'redux-logger'
import rootReducer from '../reducers/reducers'
import Immutable from 'immutable'
const loggerMiddleware = createLogger()
//const initialState=0
function configureStore() {
return createStore(
rootReducer,
{postsBySubreddit:{},selectedSubreddit:'reactjs'},
applyMiddleware(
thunkMiddleware,
loggerMiddleware
)
)
}
export default configureStore …Run Code Online (Sandbox Code Playgroud) 我目前正在使用jQuery返回一些JSON结果.返回这些结果后,我将使用它们预先填充表单中的字段.
但是,我需要一些帮助来预先选择下拉框中的项目.例如,我有一个选择框(这是缩短的):
<select id="startTime">
<option value="14:00:00">2:00 pm</option>
<option value="15:00:00">3:00 pm</option>
<option value="16:00:00">4:00 pm</option>
<option value="17:00:00">5:00 pm</option>
<option value="18:00:00">6:00 pm</option>
</select>
Run Code Online (Sandbox Code Playgroud)
如果我的JSON值是:
var start_time = data[0].start // Let's say this is '17:00:00'
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用jQuery选择值为'17:00:00'的选项?
<option value="17:00:00" selected="selected">5:00 pm</option>
Run Code Online (Sandbox Code Playgroud) iOS中有很多iOS崩溃报告库,包括TestFlight和HockeyApp.如果您不想依赖服务,您仍然可以使用PLCrashReporter之类的库.绑定这些库是相当简单的,因为它们的公共API通常由几个具有多个初始化方法的类组成.
但是,在我们的应用程序中尝试使用TestFlight和更高版本的HockeyApp时,我们的应用程序开始随机崩溃.事实证明,这是一个已知的问题报道的 若干 倍,但Xamarin不发出警告,它是相对模糊的,我们发现它的艰辛的道路.
我们了解到所有iOS崩溃记录器都阻止Mono捕获空引用异常:
try {
object o = null;
o.GetHashCode ();
} catch {
// Catch block isn't called with crash reporting enabled.
// Instead, the app will crash.
}
Run Code Online (Sandbox Code Playgroud)
为什么会这样?引用Xamarin开发人员Rolf,
空引用异常实际上是SIGSEGV信号.通常单声道运行时处理它并将其转换为空引用异常,允许继续执行.问题是在ObjC应用程序中SIGSEGV信号是一件非常糟糕的事情(当它发生在托管代码之外时),因此任何崩溃报告解决方案都会将其报告为崩溃(并杀死应用程序) - 这在MonoTouch获得机会之前发生处理SIGSEGV,因此MonoTouch无法做到这一点.
我相信很多人在MonoTouch应用程序中使用TestFlight而不知道它会导致崩溃.
这不具讽刺意味吗?
如何使崩溃报告库不会崩溃MonoTouch应用程序?
Redux框架使用reducers来更改应用程序状态以响应操作.
关键要求是reducer不能修改现有的状态对象; 它必须产生一个新的对象.
不好的例子:
import {
ACTIVATE_LOCATION
} from './actions';
export let ui = (state = [], action) => {
switch (action.type) {
case ACTIVATE_LOCATION:
state.activeLocationId = action.id;
break;
}
return state;
};
Run Code Online (Sandbox Code Playgroud)
好例子:
import {
ACTIVATE_LOCATION
} from './actions';
export let ui = (state = [], action) => {
switch (action.type) {
case ACTIVATE_LOCATION:
state = Object.assign({}, state, {
activeLocationId: action.id
});
break;
}
return state;
};
Run Code Online (Sandbox Code Playgroud)
这是Immutable.js的一个很好的用例.
我正在使用Redux,redux-router和reactjs.
我正在尝试创建一个应用程序来获取路由更改的信息,所以,我有类似的东西:
<Route path="/" component={App}>
<Route path="artist" component={ArtistApp} />
<Route path="artist/:artistId" component={ArtistApp} />
</Route>
Run Code Online (Sandbox Code Playgroud)
当有人进入时,artist/<artistId>我想搜索艺术家,然后呈现信息.问题是,这是最好的方法吗?
我找到了一些关于它的答案,使用RxJS或尝试使用中间件来管理请求.现在,我的问题是,这真的是必要的还是仅仅是一种保持架构反应不可知的方法?我可以从react componentDidMount()和componentDidUpdate()获取我需要的信息吗?现在我通过触发请求信息的函数中的动作来执行此操作,并在信息到达时重新呈现组件.该组件有一些属性让我知道:
{
isFetching: true,
entity : {}
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
我想在属性参数中放置一个恒定的日期时间,如何创建一个恒定的日期时间?它与ValidationAttributeEntLib验证应用程序块的一个相关,但也适用于其他属性.
当我这样做:
private DateTime _lowerbound = new DateTime(2011, 1, 1);
[DateTimeRangeValidator(_lowerbound)]
Run Code Online (Sandbox Code Playgroud)
我去拿:
An object reference is required for the non-static field, method, or property _lowerbound
Run Code Online (Sandbox Code Playgroud)
通过这样做
private const DateTime _lowerbound = new DateTime(2011, 1, 1);
[DateTimeRangeValidator(_lowerbound)]
Run Code Online (Sandbox Code Playgroud)
我去拿:
类型'System.DateTime'不能声明为const
有任何想法吗?走这条路不是首选:
[DateTimeRangeValidator("01-01-2011")]
Run Code Online (Sandbox Code Playgroud) 根据文档反应app的状态必须是可序列化的.那么课程怎么样?
假设我有一个ToDo应用程序.到目前为止,每个Todo项目都具有类似等的属性.现在我想在不可序列化的对象上使用方法.即它会重命名todo并做很多其他的东西.namedateTodo.rename()
据我所知,我可以在某处声明函数,rename(Todo)或者通过props将该函数传递this.props.rename(Todo)给组件.
我在.rename()某处声明了2个问题:1)在哪里?在减速机?would be instance在应用程序周围的reducer中找到所有方法很难.2)传递这个功能.真?我应该从所有更高级别的组件手动传递它吗?每次我有更多的方法添加大量的样板来传递它?或者总是这样做,并希望我对一种类型的对象只有一种重命名方法.不是Todo.rename() Task.rename()和Event.rename()
这对我来说似乎很愚蠢.对象应该知道可以对它做什么以及以何种方式.是不是?
我在这里缺少什么?
我的TranslationDetail组件在打开时传递一个id,并且基于此,在类构造函数中触发外部api调用,将数据接收到状态,并且此数据显示在TranslationDetail上.
//Routing:
<Route path="/translation/:id" component={TranslationDetail}/>
//Class:
class TranslationDetail extends Component {
constructor(props){
super(props);
this.props.fetchTrans(this.props.params.id);
}
Run Code Online (Sandbox Code Playgroud)
如果我手动输入网址,这一切都正常.如果我想使用react-router例如显示下面的项目,如下所示,url确实会更改,但api调用不会被触发,并且数据将保持不变.
<button
type="button"
onClick={() =>
browserHistory.push(`/translation/${Number(this.props.params.id)+1}`)}>
Next
</button>
Run Code Online (Sandbox Code Playgroud)
请记住,我是一个初学者.发生这种情况的原因是我认为构造函数只运行一次,因此不会触发进一步的api调用.
我怎么解决这个问题?我是否需要列出道具并在变更时调用函数?如果有,怎么样?
javascript ×7
redux ×4
c# ×3
reactjs ×3
react-router ×2
xamarin.ios ×2
attributes ×1
const ×1
datetime ×1
fetch ×1
fetch-api ×1
flux ×1
immutable.js ×1
ios ×1
jquery ×1
react-redux ×1
select ×1
testflight ×1
xamarin ×1