我正在尝试从 web api call 加载数据,为此我添加了两个操作,一个用于调用 webapi 方法,另一个用于加载数据。我的行为是这样的:-
export function LoadLabResult (labresult) {
return (dispatch) => {
dispatch({
type: 'RECEIVE_LABRESULT',
});
fetch('http://localhost:8090/api/Requisition/GetRequisitionTestInfo', {mode: 'no-cors'})
.then(response =>dispatch({
type: 'REQUEST_LABRESULT',
labresult:response.data
}));
}
};
export function receiveLabResult(labresult) {
console.log(labresult);
return {
type:'REQUEST_LABRESULT',
labresult:labresult
};
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是它没有调用receiveLabResult 方法。我该怎么做?如何将数据传递给labresult?
我们使用creatStore()将特定组件的数据存储在redux存储中,并使用combineReducers()组合所有组件的状态.现在,当我们离开页面时,我们需要清除使用redux存储的状态.这不是我在" 如何清除componentWillUnmount中的状态"中所写的标记问题 ? 因为在这个问题中他们希望通过使用this.state {}来清除他们保存的页面的状态.在我们的场景中,我们必须从特定组件的全局状态(redux-stored-state)中清除.我们想要一个全局解决方案,以便我们可以申请所有组件.请帮助我.
我在日历控件中使用了react-datetime,现在的问题是,如果用户输入了一个无效的日期,例如'djfdjfhjkhdf',那么在此控件中就没有任何要验证的东西了,所以我决定编写自己的验证函数并在其上调用如果日期无效,则模糊事件,然后清除用户输入的文本。我的代码如下:-
import DatePicker from 'react-datetime';
focousOut(value) {
if (!validateDate(value)) {
this.setState({ startDate: ''});
this.setState({ selectedValue: '' });
}
}
handleChange(date) {
this.setState({ selectedValue: date });
this.setState({ startDate: date });
}
<Datetime
timeFormat={false}
value={this.state.selectedValue}
defaultValue={this.state.startDate}
onChange={this.handleChange}
onBlur={this.focousOut}
locale='en-US'
dateFormat
closeOnSelect
/>
Run Code Online (Sandbox Code Playgroud) 我们打开新窗口选项卡,其中包含基于列表中所选userId的userList.我这样打开新窗口:
this.props.getVisitDetails(this.props.userId)
var win = window.open('./requisition','_blank');
win.onload = function() { this.document.title = windowTittle; }
win.focus();
this.state.oldWindow.push(win);
Run Code Online (Sandbox Code Playgroud)
我userId来自Redux商店.问题是如果我打开多个窗口选项卡,那么userId在每个窗口选项卡上将具有相同的功能userId,当您单击刷新时,所有窗口选项卡将具有相同的数据.所以我的问题是如何为每个窗口选项卡维护一个单独的状态?
注意:所有浏览器选项卡都共享我们使用createstore方法保存的相同存储状态,因此在我的情况下,visitid将在每行单击时更新,这将打开浏览器的新选项卡.这是数据"共享"的方式
我正在使用react-datepicker我们的日历控件。现在的问题是,如果用户输入的日期无效,例如“ djfdjfhjkhdf”,则在此控件中没有可以验证的日期。因此,我决定编写自己的验证函数,如果日期无效,则在模糊事件中调用该函数,然后清除用户输入的文本。我的代码是这样的:
import DatePicker from 'react-datepicker';
import 'react-datepicker/dist/react-datepicker.css';
focousOut(value) {
this.handleChange('');
}
handleChange(date) {
this.setState({ selectedValue: date });
this.setState({ startDate: date });
}
<DatePicker
selected={this.state.selectedValue}
value={this.state.startDate}
onChange={this.handleChange}
onBlur={event => this.focousOut(event.target.value)} />
Run Code Online (Sandbox Code Playgroud)
validateDate是一个将返回的函数,true或者false,如果日期有效,则true返回false。我怎样才能达到这一要求,请您能帮助我吗?
我正在使用react-datepicker,但由于某种原因,我们不想在下拉列表中显示月份和年份。
<DatePicker
selected={this.state.startDate}
onChange={this.handleChange}
peekNextMonth
showMonthDropdown
showYearDropdown
dropdownMode="select"
/>
Run Code Online (Sandbox Code Playgroud)
还有其他方法可以显示月份和年份吗?
我正在使用highchart的饼图,并且一些设置是:
pie: {
borderColor: '#000000',
innerSize: '60%'
},
series: [{
data: [
['projected Income', 44.2],
['Discount', 26.6],
['Annual Loss', 20]
]}]
}
Run Code Online (Sandbox Code Playgroud)
现在,我的要求是在年度亏损图上显示箭头,如蓝色图片所示。可以在Highcharts的饼图中实现此功能吗?我已经看到了许多示例,但这些示例已针对线图进行了说明。
我加入的帮助下部件动态require.ensure()ES6及getComponent()的react-router。一旦我为每个具有相同键(例如“A”)的记录打开单独的选项卡,我就会收到上述错误。我的动态加载是这样的:
require.ensure([], (require) => {
const req = require('./components/A).default
const reducer= require('./modules').default
injectReducer(store, {
key: 'A',
reducer
})
cb(null, req)
})
Run Code Online (Sandbox Code Playgroud)
我的代码createstore()是这样的:
export const makeRootReducer = (asyncReducers) => {
return combineReducers({
B,
C,
...asyncReducers
})
}
export const injectReducer = (store, { key, reducer }) => {
if (Object.hasOwnProperty.call(store.asyncReducers, key))return
store.asyncReducers[key] = reducer
store.replaceReducer(makeRootReducer(store.asyncReducers))
}
Run Code Online (Sandbox Code Playgroud)
现在的问题是,在浏览器选项卡打开时,除了第一次将警告显示为:
在减速器接收到的先前状态中发现意外的键“A” 期望找到已知的减速器键之一:“B”、“C”。意外的键将被忽略。
如果我最初会通过 Key 'A'combineReducers()那么这个警告就会消失。但这combineReducers()是全局的,它会保持减速器的状态,所以我不想在初始加载时传递这个 Key。我该如何解决此警告,请帮助我。
我试图从组件调用reducer并想在component中进行渲染,但是当我试图将reduce存储在redux的createStore()方法中时,上面的错误就要来了。我的代码是这样的:
import { applyMiddleware, compose, createStore } from 'redux'
import thunk from 'redux-thunk'
import { browserHistory } from 'react-router'
import makeRootReducer from './reducers'
import { updateLocation } from './location'
import allReducers from './reducers';
export default (initialState = {}) => {
// ======================================================
// Middleware Configuration
// ======================================================
const middleware = [thunk]
// ======================================================
// Store Enhancers
// ======================================================
const enhancers = []
let composeEnhancers = compose
if (__DEV__) {
const composeWithDevToolsExtension = window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
if (typeof composeWithDevToolsExtension === 'function') {
composeEnhancers …Run Code Online (Sandbox Code Playgroud)