标签: state

Swift 中的 iOS 8 和 9:[警告:无法创建正在进行的恢复标记文件] 首次启动时

此警告消息发生在 iOS 8 和 9 设备以及模拟器上:

[警告:无法创建正在进行的修复标记文件]

它只在我第一次启动(首次安装)应用程序时显示一次。任何后续从 Xcode 启动此应用程序而不卸载它都不会显示此警告消息。

这对我的应用程序来说是正常的吗?这就是我对我的代码所做的:

AppDelegate.swift:

import UIKit

@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {

    var window: UIWindow?


    func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
        // Override point for customization after application launch.
        return true
    }

    func application(application: UIApplication, willFinishLaunchingWithOptions launchOptions: [NSObject : AnyObject]?) -> Bool {
        return true
    }

    func application(application: UIApplication, shouldSaveApplicationState coder:NSCoder) -> Bool{
        return true;
    }

    func application(application: UIApplication, shouldRestoreApplicationState coder:NSCoder) -> Bool{
        return true;
    }
}
Run Code Online (Sandbox Code Playgroud)

Restoration …

state ios swift

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

SetState 不是 OnChange 上的函数

努力获取滑块以更改 React 状态中“文本”的值。

一直报错:

“App.js:90 Uncaught TypeError: this.setState is not a function”尽管我尽了最大努力进行故障排除。

解决办法是什么?

  class App extends Component {
  constructor(props) {
      super(props);
      this.state = {list: [{x: "Before Pool", y:85000}, {x: "After Pool", y:82000}], text: 0, options: {bathrooms:'', bedrooms:'', sqft:''}};
    }

  componentDidMount() {
        setTimeout(() => {
         this.setState({list: [{x: "Before Pool", y:60000}, {x: "After Pool", y:30000}]});
         console.log("testing", this.state.text);
       }, 2000) ;
  }
  handleChange (event) {
    console.log("from handle change", event);
   this.setState({text : event });
  }
  render() {
    return (
      <div className="App">
          <div>
             <div style={wrapperStyle}> …
Run Code Online (Sandbox Code Playgroud)

javascript state onchange setstate reactjs

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

ReactJS - 将道具(状态)传递给孩子的孩子

我有一个快速的问题。如何将状态传递给孩子的孩子?

如果父级有某种状态,那么在 ES6 中将这种状态传递给直接子级而不是直接子级的子级的最佳方式是什么。

我附上了布局的图像。

主应用程序 - 是由标题、侧边栏、内容区域组成的主要组件。

侧边栏由 - 侧边栏项目组成。

内容区包括 - 内容项。

主要问题

如何通过单击侧边栏项目更新内容区域中的组件?

请注意,此布局有 6 个组件(App、Header、Sidebar、Content Area、Sidebar Item、Content Item)。

图片

在此处输入图片说明

javascript layout state prop reactjs

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

如何存储和呈现时间状态?(YYYY-MM-DD 格式)在反应

在我的Statistics州,有

const initialState = {
 fetching: false,
 channel: null,
 dateFrom: {},
 dateTo: {},
};
Run Code Online (Sandbox Code Playgroud)

dateFromdateTo是当用户点击日历中的开始日期和结束日期时的值。我rc-calendar用于显示和获取日期数据。

在我的GeneralReport组件中,我试图显示 start datedateFrom和 end date dateTo。所以我做了如下代码

render () {
    const { stat } = this.props;
    console.log(this.props.stat)
    return (
        <div className = "general_report">
            <header className = "general_report_head">General Report</header>
            <div className="report_dates">
            From<span className="number">{this.props.stat.dateFrom}</span>
Run Code Online (Sandbox Code Playgroud)

到{this.props.stat.dateTo}

但它触发了错误,Objects are not valid as a React child (found: Thu Jan 12 2017 08:00:00 GMT+0800 (HKT)). If you meant to …

state date reactjs

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

将值从数组传递给 React Native 中的函数

我正在从 JSON 数组中提取数据并从中创建对象,并在我使用for循环创建的对象中从数组中设置我需要的字符串值:

var gamesList = [];
gamesList = this.props.navigation.state.params.gamesList;
var gameIconList = [];

for(var i=0;i<3;i++){
  var provider = gamesList[i].provider;
  var gameId = gamesList[i].gameId.toString();

  gameIconList.push(
    <TouchableOpacity onPress={(provider,gameId) => this.launchGame(provider,gameId)}>
      <ResponsiveImage source={{uri: gamesList[i].imageUrl}}
      initWidth="200" initHeight="120" defaultSource={require('./splash-tile2.png')} />
    </TouchableOpacity>
  );
}
Run Code Online (Sandbox Code Playgroud)

这一切都发生在render()函数中,{gameIconList}将在return()函数中调用,如下所示:

return(
 <ScrollView horizontal={true}>
    {gameIconList}
 </ScrollView>
);
Run Code Online (Sandbox Code Playgroud)

如您所见,我通过循环将字符串值设置到 onPress 函数调用中,当我单击图像中的图像时,TouchableOpacity我希望将设置的字符串值发送回上面的函数,即:

  launchGame = (provider, gameId) => {

  params = {
    Provider: provider.nativeEvent.text,
    Platform: this.state.Platform,
    Environment: this.state.Environment,
    GameId: gameId,
    IsDemo: this.state.IsDemo
  };

  request …
Run Code Online (Sandbox Code Playgroud)

javascript arrays state reactjs react-native

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

setState() 从依赖状态渲染的元素调用时不会改变状态

我有一个像这样的小组件(下面的代码被简化为所需的部分),在更新状态时表现得非常奇怪。

class Componenent extends React.Component {
  constructor(props) {
    super(props);
    this.state = {showStuff: false};
  }

  render() {
    return(
      //Markup
        {this.state.showStuff && (
          <button onClick={() => this.setState({showStuff: false})} />
        )}
      // More Markup
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

状态会在组件的其他地方更新,所以 prop 是true在单击按钮时。单击也会触发该setState函数(执行回调),但状态不会更新。


我的猜测是它不会更新,因为该函数是由直接依赖于 state 属性的元素调用的。
我发现向test: true状态添加另一个道具并将该属性更改false为单击按钮时也会触发showStuff道具更改为 false。所以当我进行奇怪的黑客攻击时它会起作用。

有人可以向我解释这种奇怪的行为吗?我不明白为什么上面的代码片段不能像预期的那样工作。


这是整个组件:

class ElementAdd extends React.Component {
    constructor(props) {
        super(props);

        this.defaultState = {
            showElementWheel: false,
            test: true
        };

        this.state = this.defaultState;
    }

    handleAddCardClick() {
        if (this.props.onCardAdd) { …
Run Code Online (Sandbox Code Playgroud)

javascript state reactjs

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

如何在不发生变异的情况下更新对象数组的嵌套数组的状态

我正在尝试更新嵌套对象数组的状态,例如添加到 results[0].rooms[2] -> 循环房间 -> 并添加到每个对象 room.sunday.flag

array of results:
results:  [ 
  { dates:
  { weekstart: 2018-08-26T04:00:00.000Z,
    weekend: 2018-09-02T03:59:59.000Z,
    daysofweek: [Array] },
 need: [ '103', '204', '12', '234', '34', '555', '44' ],
 backorder:
  [ '100', '102', '150', '403', '344', '12', '3434', '23', '44' ],
 _id: 5b7b139465c29145d8d69ac2,
 iscurrent: true,
 isnext: false,
 rooms: [ [Object], [Object], [Object], [Object] ],
 user: 5b61b782719613486cdda7ec,
 __v: 9 },

 { dates:
  { weekstart: 2018-09-02T04:00:00.000Z,
    weekend: 2018-09-09T03:59:59.000Z,
    daysofweek: [Array] },
 need: [ '12', '13', '55', '45' ],
 backorder: …
Run Code Online (Sandbox Code Playgroud)

javascript state setstate reactjs react-redux

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

如何使用文件对象设置状态

我有一个需要放入状态的文件对象。我尝试这样做的原因是它被提供作为重新渲染 DOM 的可能解决方案,以便清除 FileReader() 中的值。这是当前线程源自的链接

节点“加密”SHA256 散列模型行为不正常

我将在此处放置一个精简的 React 组件,以便您可以看到发生了什么。

import React, { Component } from "react";

class SearchPage extends Component {
  constructor(props) {
    super(props);
    this.state = {
      files: []
    };
  }

  onChange(e) {
    let files = e.target.files;
    this.setState({ files: files[0] });
    console.log(files[0]);
    console.log(this.state.files)
  }

  render() {
    return (
        <div onSubmit={this.onFormSubmit}>
          <input type="file" name="file" onChange={e => this.onChange(e)} />
        </div>
    );
  }
}

export default SearchPage;
Run Code Online (Sandbox Code Playgroud)

console.log(files[0]} 给出了这样的东西:

File(1) {name: "1.txt", lastModified: 1549429792266, lastModifiedDate: Tue Feb 05 2019 22:09:52 GMT-0700 (Mountain …
Run Code Online (Sandbox Code Playgroud)

state reactjs

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

React 16.8 hooks - 子组件在更新父状态后不会重新渲染

我有一个Map具有几个状态的功能父组件,其中之一是layers,其值最初是从配置中设置的。

然后我有一个子LayerControl组件,它将地图的图层状态作为其道具。LayerControl 组件进行一些更改并将它们传递回 Map onLayerChange,然后使用 Map调用层 ( setLayers)的 setState 方法。

据我了解,这应该会触发我的 LayerControl 组件的重新渲染,但事实并非如此。我做错了什么?

export default function Map(){

const [viewport, setViewport] = useState(mapConfig.viewport);
const [style, setStyle] = useState(mapConfig.mapStyle);
const [layers, setLayers] = useState(mapConfig.layers);

function updateLayers(layers){
    setLayers(layers); //why won't LayerControl re-render?
}

return(
    <MapGL
        zoom={[viewport.zoom]}
        containerStyle={{
            height: "100%",
            width: "100%"
        }}
        style={style}>
        <LayerControl
            onLayerChange={layers => updateLayers(layers)} 
            layers={layers}
        />
        <ZoomControl/>
        <ScaleControl/>
    </MapGL>
);

}
Run Code Online (Sandbox Code Playgroud)

state reactjs mapbox-gl-js

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

如果我使用扩展运算符,为什么状态会发生变化?

我有这个代码,我正在 jsfiddle 上测试

onVote = (dir, index) => {        
    console.log(this.state)

    const products = [...this.state.products]           
    products[index].votes = dir ? products[index].votes + 1 : products[index].votes - 1

    console.log(this.state.products[index].votes)
    // this.setState({products})
  };
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/hkL3wug7/2/

但是,即使我没有设置状态,控制台日志也会显示每次单击加号和减号时状态都会发生变化。

我做了与本文相同的https://medium.com/@giltayar/immutably-setting-a-value-in-a-js-array-or-how-an-array-is-also-an-object -55337f4d6702

const newState = [...state] // clone the array
      newState[action.index].done = true
      return newState
Run Code Online (Sandbox Code Playgroud)

据我所理解

(它不是另一个问题的重复,我不是在寻求一种有效的方法)

state reactjs

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