I'm trying to pass data from `TextField` with `onChange` property to `onPressed` button.

If I type my string as below:

```
String newTextTitle;

```

then I get error on `print(newTextTitle);`:

> 
> The non-nullable local variable 'newTextTitle' must be assigned before it can be used.
> Try giving it an initializer expression, or ensure that it's assigned on every execution path.
> 
> 
> 

So I change it to

```
String? newTextTitle;

```

then the error won't appear again. But The data won't pass from `TextField` to my button, actually passing `null`.

And if I assigned some string then it is printing always what I assigned regardless of any change in the `TextField`.

My `TextField` code:

```
TextField(
 autofocus: true,
 textAlign: TextAlign.center,
 onChanged: (newValue) {
  newTextTitle = newValue;
 },
),

```

My `button` code:

```
TextButton(
 onPressed: () {
  print('Passing Test $newTextTitle');
 },
),

```

my output consol:

> 
> I/flutter (23788): Passing Test null
> 
> 
> 

This code is worked so fine in older flutter.
But now I used `Flutter 2.5.2` and there is somthing has been changed.